すべてのマシンに特定のソフトウェアを1つずつインストールしようとしているので、pdsh
を使用することにしました。デフォルトでは、複数のマシンで同時に並行して動作しますが、-f
オプションを使用して、一度に1台ずつ各マシンで実行するように制限します。
それをいじるために、以下のコマンドを実行することにしましたが、エラーが発生します。
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
ここで何をしているのですか?
あなたが周りを検索する場合、何をしますか
ホストキーの検証に失敗しました
つまり、問題を解決するのに十分な情報が見つかります。あなたの場合の問題は、pdcp
ユーザー(Sudo)の下でroot
を実行することです。それは本当にあなたが望むものですか?そうでない場合は、Sudo
なしで実行すると、正常に機能しますTM。
本当にpdcp
の下でSudo
を実行する必要がある場合は、Sudo
の下でもホストキーの検証を行う必要があります。
Sudo ssh machine1
あなたにそれをさせます。鍵の確認を求めるプロンプトが表示され、新しいエントリが~/.ssh/known_hosts
に保存されます。あなたのpdcp
はその時から機能するはずです。
pdcp
のマニュアルページの最後のメモ:
Sshをリモート実行に使用する場合、sshのstderrはリモートコマンドのstderrと一緒に組み込まれます。 pdcpによって呼び出された場合、ホストキーが変更された場合にsshが確認を求めたり、RSAキーが適切に構成されていない場合はパスワードを求められないなど最後に、接続タイムアウトは調整可能です基礎となるssh実装がそれをサポートし、pdshが正しいオプションを使用するように構築されている場合はsshを使用します。
pdcp
を使用する場合は、公開鍵認証を設定する必要があります。
「ホストキーの検証に失敗しました」は、基になるSSHプロセスからのものです。 pdcp(1) を参照してください:
リモート実行にsshを使用する場合、リモートコマンドのstderrと一緒に折りたたまれるsshのstderr。 pdcpによって呼び出された場合、ホストキーが変更された場合にsshが確認を求めたり、RSAキーが適切に構成されていない場合にパスワードを求められないなどです。
解決策は、all_hosts
onceの前にすべてのホストに接続し、それらのホストキーを受け入れるか、disableすることです。 (!) StrictHostKeyChecking 上記のホストの場合:
$ cat〜/.ssh/config Host david micheal jose StrictHostKeyChecking no $ pdcp -R ssh -w ^ all_hostsabc。 tar.gz /home/david sid0:警告:「david、xxxx」(ED25519)が既知のホストのリストに永久に追加されました。 [...]