2つのサーバー、Server1
とServer2
があります。 Server1
には、user1
という名前のユーザーがいます。 Server2
には、user2
という名前のユーザーがいます。
Server1
で実行するスクリプトを記述できるようにする必要があります。これにより、いくつかのファイルがuser2@Server2
にscp
されます。パスワードを要求せずにこれを行う方法はありますか?必要に応じて、構成ファイルなどにパスワードを入れることができます。
ところでuser2@Server1
ユーザーを作成できません。
必要なのはssh-keyペアです。これらは、パスワードなしの認証を可能にする「信頼できるネットワーク」を作成します。
クライアント(server1)で:
[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"
scp
(またはその他のssh)コマンドを実行するときに、パスワードの入力を求められることはありません。
scp file user2@server2:/drop/location