web-dev-qa-db-ja.com

プロンプトなしでリモートホストをknown_hostsファイルに追加します

スクリプトをいくつか作成しましたが、リモートホストをknown_hostsファイルに何も操作せずに追加したいと考えています。私は既知のホストにリモートホストキーを追加するssh -o "StrictHostKeyChecking no" [email protected]のようなコマンドを実行できますが、その後にsshパスワードプロンプトが続きます。パスワードプロンプトなしでこれを行う方法はありますか?

4
VenomFangs

別の答えで述べたように、ssh-keyscanが理想的ですが、何らかの理由でそれができない場合:オプションを設定することで、パスワード認証を無効にできます

PasswordAuthentication no

構成ファイル(例:.ssh/config)、またはオプションを渡す-o PasswordAuthenticationをコマンドラインに入力して、sshがパスワードを要求するのを防ぎます。言うまでもなく、別の認証方法doesでログインできるように構成していない限り、サーバーはこれをログイン試行の失敗と見なします。

既に述べたように、StrictHostKeyCheckingオプションの値をデフォルトのaskからno(またはより良いセキュリティが必要な場合はyes)に変更します。 )にホストキーを追加するかどうかのプロンプトを回避するために必要です.ssh/known_hosts

1
David Z

使用する ssh-keyscan 10.x.x.x >> /path/to/known_hosts/file(セキュリティを強化するには-Hを使用します。コンテキストによって異なります)。

6
Xavier Lucas