개발/Linux
[Linux] 패스워드 없이 서버 간 파일 전송하기 : ssh-keygen
zuzuu
2022. 5. 18. 14:59
반응형
리눅스에서 다른 서버로 파일을 복사하기 위해서 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
반응형