私はパスワードを要求せずにsshを実行し、パスワードを要求せずにsystemctlを呼び出したいと思います。以下を試しました。
ssh -t <user>@<host> "echo <password> | sudo -S systemctl status kubelet"
そして:
sshpass -p '$<password>' ssh -t -o 'StrictHostKeyChecking=no' <user>@<host> 'sudo service kubelet restart
返品:
echo <password> | ssh -tt <user>@<host> "sudo service kubelet restart"
そして:
sshpass -p '$<password>' ssh -t -o 'StrictHostKeyChecking=no' <user>@<host> "echo <password> | sudo -S service kubelet restart"
sudoersにユーザーを追加し、パスワードなしでsystemctlを実行できます。上記のすべてのコマンドは、以下を除いてパスワードを要求します。
sshpass -p '$<password>' ssh -t -o 'StrictHostKeyChecking=no' <user>@<host> 'sudo service kubelet restart
これは私に何のヒントも与えません。うまくいくようですが、何もしません。
リモートシステムで操作が実行されたことを確認するために履歴を確認しましたが、何も実行されませんでした。
編集:あるシステムから別のシステムにキーをコピーせずにパスワードなしでSSHを介してこれを実行したいと思います。
ベストアンサー1
ホストでファイルを実行し、デフォルトの場所に保存します。
ssh-keygen -t rsa
その後、身分証明書をコピーしてください。
ssh-copy-id root@<host>
その後、コマンドを実行します。
ssh root@<host> systemctl status kubelet