pdcpを使用するとホストキーの検証に失敗しました(終了コード255)。

pdcpを使用するとホストキーの検証に失敗しました(終了コード255)。

すべてのコンピュータに特定のソフトウェアを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

あちこちで検索してみると何がわかりますか?

ホストキーの確認に失敗しました

つまり、問題を解決するのに十分な情報を見つけることができます。あなたの場合の問題は、pdcpsudoとして実行されていることです。rootこれは本当にあなたが望むものですか?それ以外の場合は実行しないでください。 Just WorkTMsudoなります。

pdcp次の環境で実行する必要がある場合は、sudo次の環境でもホストキー検証を実行する必要がありますsudo

sudo ssh machine1

そうするようにしてくれるだろう。キーの確認を要求し、新しい項目をに保存します~/.ssh/known_hostspdcpその時点から作業する必要があります。


マニュアルページの最後の注意事項は次のとおりです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)を永久に追加してください。
[...]

関連情報