2017-09-12 5 views
0

私たちには、テスト用とライブ用の2台のDebianサーバがあります。私はライブからテストにデータを転送するために実行されるべきスクリプトをいくつか持っています。どちらのサーバーでも、私たちはPublicKeyAuthenticationを使用します。ここで、id_rsa.pubの内容はテストサーバーのauthorized_keysに追加されます。SSH:公開鍵認証を使用しているときにパスワードなしでファイルをコピーします。

これを実行しても、あるサーバーから別のサーバーに転送を開始するたびに、パスワードを要求されています。

私もssh-copy-idを呼び出そうとしましたが、それは役に立たず、私が得たものはすべてauthorized_keysの重複したエントリでした。

最後にsshpassを試してみると、次のメッセージが表示され、パスワードをメッセージとして入力することはできません。

sshpass -v -p 'PASS' ssh [email protected]_server 
SSHPASS searching for password prompt using match "assword" 
SSHPASS read: Enter passphrase for key '/root/.ssh/id_rsa': 

ありがとう。

+0

(あなたは空白にパスワードを変更するssh-keygenを使用することができますか)? SCPに秘密鍵を使用していますか?ここに命令を入れることができますか? – nagendra547

答えて

2

sshpassの出力から、それがキーではなく、サーバーのパスワードのパスワードを要求されていることを縫い目:

キー「/root/.ssh/id_rsa」のパスフレーズを入力

SSHキーをパスワードで保護することは良い方法ですが、発見したように完全に自動化することはできません。状況に応じて、次のいずれかを実行できます。

  • SSHエージェントを使用してください。これはあなたのパスワードを一度尋ねるデーモンで、秘密鍵を削除するまでキャッシュされたままにしておきます。これは、あなたのSSHキーがディスク上にパスワードで保護されて保存されているという利点がありますが、パスワードなしのキーとして使用できます。 これには、SSH経由でSSHエージェントを転送できるという利点があります。マシンからサーバーAへ、さらにサーバーBへのSSHの場合、この最後の接続では、サーバーAに鍵をコピーしてください)。あなたはSSHサーバに接続する方法

  • 完全にキーからパスワードを削除

+0

これを試してみます。ありがとう。 –

+0

これはうまくいきました。ありがとう。 :-) –

0

どのようにデータ転送を実行しますか?それはscpですか?システムユーザ名を確認し、正しいユーザのために公開鍵がauthorized_keysファイルにインストールされていることを確認してください。

+0

はい。私はSCPを使用しています。パスワード認証は無効になっているため、公開鍵だけが機能します。パスワードを入力すると正常に動作します。 –

関連する問題