
次のpsshコマンドは、日付を使用して並列操作を実行します。
pssh -i -H "master01 master02 master03 worker01 worker02" -l root -x '-q -o StrictHostKeyChecking=no -o GSSAPIAuthentication=no -o PreferredAuthentications=publickey -o PubkeyAuthentication=yes' date | grep -v "^\["
Fri Jul 12 12:37:35 UTC 2019
Fri Jul 12 12:37:35 UTC 2019
Fri Jul 12 12:37:35 UTC 2019
Fri Jul 12 12:37:35 UTC 2019
Fri Jul 12 12:37:35 UTC 2019
しかし、我々はマシンのパスワードが定義されていないことがわかりました。それでは、psshはパスワードなしでsshアクティビティをどのように実行できますか?
答え1
pコマンドはsshオプションを設定しますPubkeyAuthentication=yes
。これは、ログイン時にパスワードの代わりにキーペアを使用することを意味します。秘密鍵は、このプログラムを実行しているコンピュータにあります。秘密鍵が暗号化されていることを確認し、印刷された公開鍵をリモートシステムのファイルと/root/.ssh/authorized_keys
比較します。
$ ssh-keygen -y -f $HOME/.ssh/id_rsa
- ssh-keygenがパスワードの入力を求められない場合、秘密鍵は暗号化されていません。代わりに、
ssh-agent
秘密鍵を使用して暗号化する方法を学びます。そうでなければ、このファイルを持っている人は誰でもrootでコンピュータにログインできます!
$ ssh-keygen -p -f $HOME/.ssh/id_rsa