2개의 서버가 있고 Server1
이라는 사용자가 Server2
있습니다 . 내 사용자 이름은 입니다 .Server1
user1
Server2
user2
에서 실행되어 일부 파일을 으로 전송 Server1
하는 스크립트를 작성할 수 있어야 합니다 . 비밀번호를 입력하지 않고 이를 수행할 수 있는 방법이 있습니까? 필요한 경우 구성 파일이나 다른 파일에 비밀번호를 넣을 수 있습니다.scp
user2@Server2
user2@Server1
그런데 사용자를 생성할 수 없습니다.
답변1
원하는 것은 비밀번호 없는 인증을 허용하는 "신뢰할 수 있는 네트워크"를 생성하는 SSH 키 쌍입니다.
클라이언트(서버 1)에서:
[user@server1]# ssh-keygen -t rsa -b 2048
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): # Hit Enter
Enter passphrase (empty for no passphrase): # Hit Enter
Enter same passphrase again: # Hit Enter
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
이제 공개 키를 원격 서버(server2)에 복사합니다.
ssh-copy-id user2@server2
[OR]
cat ~/.ssh/id_rsa.pub | ssh user2@server2 "mkdir -p ~/.ssh \
&& cat >> ~/.ssh/authorized_keys"
이제 (또는 다른 ssh) 명령을 실행할 때 scp
비밀번호를 묻는 메시지가 표시되지 않습니다.
scp file user2@server2:/drop/location