오늘 업무를 하면서 깨달음을 크게 얻어서 오랜만에 기록
출처를 미리 밝힙니다.
sftp 접속시 key 인증으로 접속하기 (패스워드 미입력)
A 서버 sam 계정에서 B 서버 top 계정으로 sftp 접속시 패스워드 없이 접속 하려고 할때 다음과 같은 작업이 필요합니다. A 서버에서 접속하려는 계정으로 ssh key 가 존재해야합니다. 인증키 부터 생
angelhyun.tistory.com
현재 업무하고 있는 곳에서 외부기관으로 SFTP 접속이 필요했습니다.
외부기관의 보안정책 때문에 패스워드를 주기적으로 변경을 해주어야했고,
저희는 이번에 작업하고 빠져야하기 때문에 변경하는 방안을 꺼려했습니다.
그래서 SFTP접속할 때 패스워드대신 KEY를 접근하여 주기적으로 변경하는 것을 피했습니다.
현재 업무하고 있는 서버 : A
외부기관 서버 : B
먼저 A 서버에서 B 서버로 접속할 ssh key가 필요하기에 먼저 생성을 해줍니다.
$ ssh-keygen -t rsa -b 2048
-t = 암호화 방식
-b = 키 비트수 지정 / 최소 768비트가 필요하고 기본값은 2048
이렇게 생성을 하면 home디렉토리의 .ssh 폴더 안에 생성이 됩니다.
※ 참고로 홈디렉토리에서 ls,ll 명령어를 치면 숨기폴더로 안보이기 때문에 ls -a , ll -al 명령어를 사용해야 됩니다.
총 3개의 파일이 생성 되어 있을 것 입니다.
id_rsa id_rsa.pub known_hosts
여기서 id_rsa.pub 파일을 확인해야 됩니다.
.ssh 폴더로 경로 이동해서 해당 명령어를 사용합니다. (cat : 파일 내용 출력)
$ cat id_rsa.pub
이러면 key값이 나오게 됩니다.
ssh-rsa AAAASDSADIOJQWDMASDHIASDQWIOEOI++askdjASKDJadklasjdASKDJVXCMaskd+asdjQQWD@root
이 key값을 복사합니다. (@root 까지 모두 다)
다음 외부기관 서버인 B로 이동해서 home 디렉토리의 .ssh 폴더로 이동합니다.
그리고 authorized_keys 파일에 아까 복사한 KEY값을 복사해서 넣어둡니다.
( 만약 .ssh랑 authorized_keys 파일이 없으면 home 디렉토리 경로에 만들면 됩니다. )
만드는 명령어
$ vi authorized_keys
이러면 $모양에서 파일입력창으로 변경됩니다.
아까 복사한 key값 붙여넣기하고 esc 누르고 : 누르면 마지막행으로 이동합니다.
그리고 wq를 하면 저장 후 종료가 됩니다. (저장안하고 종료하고 싶으면 q)
만약 잘못저장해서 수정하고 싶으면 vi 파일이름 명령어 다시 입력 후
해당 위치로 이동한 후 수정해서 다시 저장하면 됩니다. (단 vi명령어를 사용)
[위치 이동]
k - 위로
j - 아래로
l - 오른쪽 (L)
h - 왼쪽
[삽입] (삽입모드로 진입하게 됩니다. 빠져나올때는 esc)
i - 현재 커서 위치에 삽입
a - 현재 커서 다음위치에 삽입
[삭제]
dd - 커서 위치한 곳 한 줄 삭제
x - 커서 위치한 곳의 글자 1개 삭제
u - 방금 한 명령 취소 (ctrl+z랑 같은 개념)
이거 말고도 많은 명령어가 있으니 구글링하면 됩니다.
이렇게 까지 해서 A에서 접속을 시도하면 B서버로 패스워드없이 바로 접속이 가능합니다.
'Linux' 카테고리의 다른 글
[ Linux ] SCP 사용법 (0) | 2024.03.11 |
---|---|
[ Linux / Window ] DNS 설정하기 (0) | 2022.08.05 |
[ Linux ] vmware에 Ubuntu 설치하기 (20.04) (0) | 2022.03.08 |
[ Linux ] 기본프로그램 설정(Sublime Text) - Ubuntu 20.04 (0) | 2021.05.30 |
[Ubuntu 20.04] NVIDIA Driver setup (2) | 2021.03.19 |