pscp.psshコマンドを使用してパスワードの代わりに秘密鍵を使用してリモートサーバーにファイルをコピーする方法。
これが私が使用しているコマンドであり、パスワードプロンプトが表示されます。助けてください
pscp.pssh -h hosts.txt -l vipin -x "-o StrictHostKeyChecking=no -i vipin_rsa.pem" -Av example.txt /tmp/
いくつかの質問に対する答え:
- リモートサーバーに公開鍵があります。
- コマンドを実行すると、パスワードプロンプトが表示されます。
- 秘密鍵は、コマンドを実行したディレクトリにあります。
答え1
pscp.pssh
明らかにこれはプロジェクトのための並列SCPツールです。そのマニュアルページを見つけることができますここで。
-A --askpass
パスワードの入力を求め、sshに渡します。パスワードはキーのロックを解除するか、パスワードの確認に使用できます。パスワードはかなり安全な方法で送信されます(パラメータリストには表示されません)。ただし、システムの root ユーザーがパスワードを傍受できることに注意してください。
つまり、pscp.pssh
パスワードが必要です。頼むように言ったから、オプションを使用して-A
これを実行したくない場合は、オプションを削除してください。つまり、コマンドラインでオプションをに変更します-Av
。-v
hosts.txt
それでもパスワードプロンプトが表示された場合は、ファイル内の(おそらく)多くのホストのうち、キー認証を拒否するホストを探す必要があります。リモートサーバーのログを読むsshd
鍵が拒否された理由を確認してください。
一般的な原因は、リモートサーバーの認証キーファイルに対する無効な権限です。ルート以外のユーザーが自分のキーをファイルに書き込むことができる場合は、sshd
認証キーファイルが改ざんされた可能性があると想定して完全に無視します。それ。この場合、sshd
サーバーログのログメッセージは、どのファイルまたはディレクトリに無効な権限があるかを正確に説明します。ただし、その情報はまだ認証されていない(=まだ正当であると証明されていない)ユーザーには配信されません。 )セキュリティ上の理由で理由クライアントです。