シェルスクリプトでSSHパスワードプロンプトを無視する

シェルスクリプトでSSHパスワードプロンプトを無視する

公開鍵認証を使用してサーバーにSSHで接続し、そのコンピュータでコマンドを実行するシェルスクリプトがあります。これは、ユーザーがサーバーに公開鍵をインストールしたコンピューターで正常に機能します。ユーザーが認証キーを設定していないシステムでこのスクリプトを実行すると、スクリプトはパスワードプロンプトで中断されます。私のスクリプトは引き続き実行され、プロンプトで停止しないようにしたいです。プロンプトをバイパスする方法は?私はMac OSXを使用しています。サーバーはOSXも実行します。

ベストアンサー1

これを行う1つの方法は、-o PasswordAuthentication=NoSSHコマンドに次のように指定することです。

ssh -o PasswordAuthentication=no user@server

これにより、SSHクライアントがサーバーと通信する必要がある認証オプションのリストからPasswordAuthenticationが削除され、パスワードプロンプトを続行できなくなります。これにより、PubkeyAuthentication(RHostsRSAAuthenticationなど)以外の他の認証メカニズムも機能できます。 pubkey認証を使用したい場合...

ssh -o PreferredAuthentications=publickey user@server

おすすめ記事