LINUX
2018.10.01 / 13:27

rsync, ssh 작업 시 비밀번호 입력 없이 다른 서버로 접속하기

Military
추천 수 2

시나리오
A 서버에서 B 서버로 ssh, rsync 등의 명령어를 통해 데이터를 전송하려 합니다.
데이터를 전송할 때 매번 비밀번호를 입력해야하는 번거로움을 없애고 싶은데,
이런 상황에서 다음과 같은 작업을 통해 번거로움을 없앨 수 있게 됩니다.
기본적으로 아래 작업은 root계정으로 진행한다고 가정합니다.

 

1. A서버에서 rsa 방식의 키 발급 (dsa로 발급해도 무방)

1
2
3
4
5
cd /root/.ssh
ssh-keygen -t rsa
Enter file in which to save the key (/root/.ssh/id_rsa): #엔터
Enter passphrase (empty for no passphrase): #엔터
Enter same passphrase again: #엔터

위 과정을 통해 A서버의 /root/.ssh 디렉토리에 id_rsa, id_rsa.pub 두 개의 키가 생성됩니다.

 

2. B서버로 A서버의 공개키를 전송합니다. (id_rsa.pub)

1
ssh-copy-id -i id_rsa.pub "-p 포트번호 root@B서버아이피"

위 과정을 통해 A서버의 id_rsa.pub 키를 B서버의 /root/.ssh/authorized_keys 파일로 변환하여 전송합니다.

 

2단계의 간단한 과정을 통해 A서버에서 B서버로의 비밀번호 없는 ssh, rsync등의 연결이 가능해집니다.