すべてのコンピュータに特定のソフトウェアを1つずつpdsh
インストールしようとしているので、-f
すべてのコンピュータで実行を使用することにしました。
ただ遊ぶために次のコマンドを実行することにしましたが、エラーが発生します。
david@machine0:~$ sudo pdcp -w machine1 abc.tar.gz /home/david
machine1: Host key verification failed.
pdcp@machine0: machine1: ssh exited with exit code 255
私がここで何を間違っているのか?
答え1
あちこちで検索してみると何がわかりますか?
ホストキーの確認に失敗しました
つまり、問題を解決するのに十分な情報を見つけることができます。あなたの場合の問題は、pdcp
sudoとして実行されていることです。root
これは本当にあなたが望むものですか?それ以外の場合は実行しないでください。 Just WorkTMにsudo
なります。
pdcp
次の環境で実行する必要がある場合は、sudo
次の環境でもホストキー検証を実行する必要がありますsudo
。
sudo ssh machine1
そうするようにしてくれるだろう。キーの確認を要求し、新しい項目をに保存します~/.ssh/known_hosts
。pdcp
その時点から作業する必要があります。
マニュアルページの最後の注意事項は次のとおりですpdcp
。
リモート実行に ssh を使用する場合、ssh の stderr はリモートコマンドの stderr に縮小されます。pdcpによって呼び出されると、sshはホストキーが変更された場合は確認メッセージを表示できず、RSAキーが正しく設定されていない場合はパスワードなどを求めるメッセージを表示できません。最後に、接続タイムアウトは、デフォルトのSSH実装がそれをサポートし、pdshが正しいオプションを使用するように構築されている場合にのみSSHを介して調整できます。
使用するには公開鍵認証設定が必要ですpdcp
。
答え2
「ホスト鍵の検証に失敗しました」は、基本SSHプロセスで発生します。バラよりリン酸二水素カルシウム(1):
リモート実行に ssh を使用する場合、ssh の stderr はリモートコマンドの stderr に縮小されます。 pdcpによって呼び出されると、sshはホストキーが変更された場合は確認メッセージを表示できず、RSAキーが正しく設定されていない場合はパスワードなどを求めるメッセージを表示できません。
解決策は、次のすべてのホストに接続することです。all_hosts
一度以前にホストキーを受け入れるか、障害を負う(!)厳密なホストキーの確認そのホストの場合:
$猫〜/.ssh/config ホストデビッドマイケルホセ StrictHostKeyChecking いいえ $pdcp -R ssh -w ^all_hosts abc.tar.gz /home/david sid0:警告:既知のホストのリストに「david、xxxx」(ED25519)を永久に追加してください。 [...]