다른 사용자 이름을 사용하는 비밀번호 프롬프트가 없는 SCP

다른 사용자 이름을 사용하는 비밀번호 프롬프트가 없는 SCP

2개의 서버가 있고 Server1이라는 사용자가 Server2있습니다 . 내 사용자 이름은 입니다 .Server1user1Server2user2

에서 실행되어 일부 파일을 으로 전송 Server1하는 스크립트를 작성할 수 있어야 합니다 . 비밀번호를 입력하지 않고 이를 수행할 수 있는 방법이 있습니까? 필요한 경우 구성 파일이나 다른 파일에 비밀번호를 넣을 수 있습니다.scpuser2@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

관련 정보