特定のネットワークからアクセスする場合、ユーザーの SSH パスワードを設定しないようにすることは可能ですか?

特定のネットワークからアクセスする場合、ユーザーの SSH パスワードを設定しないようにすることは可能ですか?

特定のネットワークから接続するときに、パスワードを入力せずに ssh にログインしたいです (リスクは承知しています)。

これは設定できるものなのでしょうか?

ここで言及しているのは、キーベースの認証 (公開ネットワーク用に導入) ではなく、ログインを入力して、そのユーザーのパスワードを入力しなくても認証される機能であることに注意してください。

答え1

はい、こんな感じです:

sshpass -pfoobar ssh -o StrictHostKeyChecking=no user@host command_to_run

sshpass「キーボードインタラクティブ」パスワード認証と呼ばれるモードを使用して、非対話モードで ssh を実行するために設計されたユーティリティです。

ssh は直接 TTY アクセスを使用して、パスワードが実際に対話型キーボード ユーザーによって発行されたことを確認します。sshpass は専用の tty で ssh を実行し、対話型ユーザーからパスワードを取得していると思わせます。

実行するコマンドは、sshpass の独自のオプションの後に指定されます。通常は引数付きの「ssh」ですが、他のコマンドでもかまいません。ただし、ssh で使用されるパスワード プロンプトは現在 sshpass にハードコードされています。

関連情報