IT이야기/네트워크 이야기

ssh-keygen SSH 공개키 비밀번호 없이 접속하기

무지개 보드 2023. 1. 10. 22:52
반응형

데이터베이스 파일 백업 후 해외 서버로 옮겨야 하는 작업을 맡았습니다.

해당 기능은 해외 서버로 파일 전송 시 네트워크 순단에 의한 데이터 손실을 막기 위해 SCP로 여러 파일을 분할하여 전송 시 서버 로그인 없이 사용하기 위해 사용했습니다.

이때 사용한 것이 SSH-keygen 입니다.

SSH-keygen

 

1. 파일을 전송할 클라이언트 내에서 공개키를 생성합니다.

ssh-keygen -t rsa
(암호화 방식은 서버측과 협의 후 결정합니다.)

"Generating public/private rsa key pair"
"Enter file in which to save the key (/PATH) "
PATH 지정 또는 기본 설정(해당 유저의 홈 디렉토리/.ssh)대로 생성합니다.

"Enter passphrase (empty for no passphrase):"
passphrase를 사용하지 않기때문에 enter를 두번 누릅니다.
(SSH 로그인 시 유저 패스워드가 아닌 SSH Key 로 로그인 시 사용)

"Your identification has been saved in ... "
"Your public key has been saved in ... "
방금 만든 공개키 파일명과 위치를 기억합니다. (파일 확장자 .pub)

2. 공개키를 파일을 복사할 모든 원격 리눅스 서버에 복사합니다.

 

(1) scp를 사용해 복사를 하였으며, root를 선택했다면 해당키를 /root/.ssh/authorized_keys 로 복사합니다.

(root가 아닌 다른 USER 로그인 시, /home/USER/.ssh/authorized_keys 로 복사)

 

(2) 서버 내 기존 authorized_keys 파일이 존재 시 전송한 클라이언트 공개키 파일 내용을 뒤에 추가한 후 scp를 통한 연결 테스트를 진행합니다.

 

(3) 이후 간단하게 작성한 scp 스크립트를 통하여 500GB에 달하는 데이터 파일을 무사히 전송하였습니다.

 

 

긴 내용은 아니지만 ssh-keygen 로 SSH 공개키를 생성하는 방식을 간단하게 설명하였습니다.

FTP서버 간 로그인 없이 접속하는 수단으로 사용할 수도 있으니 참고 바랍니다!

반응형