スクリプトをいくつか作成しましたが、リモートホストをknown_hosts
ファイルに何も操作せずに追加したいと考えています。私は既知のホストにリモートホストキーを追加するssh -o "StrictHostKeyChecking no" [email protected]
のようなコマンドを実行できますが、その後にsshパスワードプロンプトが続きます。パスワードプロンプトなしでこれを行う方法はありますか?
別の答えで述べたように、ssh-keyscan
が理想的ですが、何らかの理由でそれができない場合:オプションを設定することで、パスワード認証を無効にできます
PasswordAuthentication no
構成ファイル(例:.ssh/config
)、またはオプションを渡す-o PasswordAuthentication
をコマンドラインに入力して、sshがパスワードを要求するのを防ぎます。言うまでもなく、別の認証方法doesでログインできるように構成していない限り、サーバーはこれをログイン試行の失敗と見なします。
既に述べたように、StrictHostKeyChecking
オプションの値をデフォルトのask
からno
(またはより良いセキュリティが必要な場合はyes
)に変更します。 )にホストキーを追加するかどうかのプロンプトを回避するために必要です.ssh/known_hosts
。
使用する ssh-keyscan 10.x.x.x >> /path/to/known_hosts/file
(セキュリティを強化するには-Hを使用します。コンテキストによって異なります)。