본문 바로가기
개발/Linux

[Linux] 패스워드 없이 서버 간 파일 전송하기 : ssh-keygen

by zuzuu 2022. 5. 18.
반응형

 

리눅스에서 다른 서버로 파일을 복사하기 위해서 scp 명령어를 사용해야 한다.

예시
$scp "파일명" "다른 서버 계정"@"다른 서버 ip":"path"


하지만 이 명령어를 입력하면 상대 서버의 패스워드를 필수로 입력해야 한다.
본인은 서버간 파일 전송을 쉘스크립트 파일로 만들어 사람의 개입없이 주기적으로 해야했고.. 때문에 패스워드 없이 전송하는 것이 필요했다!

 

ssh-keygen을 이용하여 내 서버에서 공개키를 생성하고, 이를 상대 서버에 보내놓으면 패스워드없이 파일 전송이 가능하다.

 

1. 내 서버에서 RSA 공개키 생성

ssh-keygen -t rsa

세번 입력하는 부분이 나오는데 그냥 엔터쳐도 무방하다!

 

/home/계정에 .ssh 디렉토리가 생겼고, .ssh 디렉토리에 id_rsa, id_rsa.pub 파일이 생성됐다.

 

2. id_rsa.pub 파일을 상대 서버로 전송

상대서버의 /home/계정/.ssh 디렉토리로 id_rsa.pub 파일을 전송해야한다.

상대서버에 .ssh 디렉토리가 존재하지 않는다면 직접 생성하면 되고, 여기서 주의해야할 점은 id_rsa.pub 파일을 authorized_keys로 변경하여 보내야한다.

scp /home/계정명/.ssh/id_rsa.pub 상대_서버_계정명@상대_서버_IP:/home/상대_서버_계정명/.ssh/authorized_keys

 

여기까지 하고 scp를 명령어를 이용하여 상대서버로 파일을 전송한다면 패스워드 없이 전송이 가능하다.

 

728x90
반응형

댓글