오늘 업무를 하면서 깨달음을 크게 얻어서 오랜만에 기록
출처를 미리 밝힙니다.
현재 업무하고 있는 곳에서 외부기관으로 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 |