2010-03-29 09:43:00 +0000 2010-03-29 09:43:00 +0000
181
181

既知のホストに対してSSHのホスト検証を回避するには?

私はSSHを使用してサーバーに接続しようとするたびに、次のようなプロンプトが表示されます。私は “yes "と入力していますが、これをaovidする方法はありますか?

The authenticity of host '111.222.333.444 (111.222.333.444)' can't be established.
RSA key fingerprint is f3:cf:58:ae:71:0b:c8:04:6f:34:a3:b2:e4:1e:0c:8b.
Are you sure you want to continue connecting (yes/no)?

回答 (8)

254
254
254
2010-03-29 10:53:30 +0000

-oオプション、

ssh -o "StrictHostKeyChecking no" user@host
```を使用します。
108
108
108
2013-08-06 21:56:17 +0000

/etc/ssh/ssh_config…の先頭に以下の行を追加します。

Host 192.168.0.*
   StrictHostKeyChecking no
   UserKnownHostsFile=/dev/null

オプション。

  • ホストサブネットを * にして、すべての IP に無制限にアクセスできるようにします。
  • グローバル設定の場合は/etc/ssh/ssh_configを、ユーザー固有の設定の場合は~/.ssh/configを編集します。

http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html を参照。

28
28
28
2010-03-29 09:47:30 +0000

これは最初に新しいホストに接続した時にのみ表示されるはずです。yes に応答した後、ホストは ~/.ssh/known_hosts に保存され、次回の接続時にプロンプトが表示されることはありません。

何らかの理由(パーミッションの問題など)で~/.ssh/known_hostsが書き込めない場合は、接続するたびにプロンプトが表示されることに注意してください。

11
11
11
2010-06-08 22:29:47 +0000

最良の方法は、(セキュリティを犠牲にしないので) 1つのクライアントからすべてのコンピュータに一度だけ接続することです(毎回プロンプトが表示されますので、常に「はい」と答えてください)。他の回答で指摘されているように、鍵は ~/.ssh/known_hosts に保存されます。そして、このファイルを後から接続したいと思われるすべてのクライアントコンピュータにコピーしてください (おそらく、あなたが使用している各ユーザアカウントごとに)。そうすれば、これらのアカウントはすべてコンピュータを「知っている」ことになるので、 プロンプトは表示されません。

プロンプトを無効にすることの利点は、SSH が MITM 攻撃があるかどうかを実際にチェックできることです。

1
1
1
2015-07-11 23:20:24 +0000

認証ではなく確認を無効にしたい場合は、このオプションを使用します。"-o CheckHostIP=no"

ssh -i sergeys_rsa_key.pem -o CheckHostIP=no brin@8.8.8.8
0
0
0
2015-12-12 18:09:32 +0000

これは、サーバのIPやドメインは同じでも、ssh鍵が不一致なので、ssh鍵のサーバが変わったことが原因だと思われます。

このメッセージを避けるためには、/home/$user/.ssh/known_hosts に保存されている鍵を削除する必要があります。

このファイルに保存されているすべての鍵を削除して修正したので、このドメイン名のために新しいトークンが作成されました。

0
0
0
2020-01-27 07:10:41 +0000

私は、上記の検証済みソリューションを使用したにもかかわらず、私の ssh は動作しておらず、known_hosts ファイルが ~/.ssh/ ディレクトリになく、ファイルシステムが読み取り専用だったために、同じような問題に直面しました。そのため、実行時にも ~/.ssh/known_hosts ファイルを作成することができませんでした。

同じような問題に直面した場合は、/tmp の場所に known_hosts ファイルを書き込めるかどうか確認してください。これは、読み取り専用のファイルシステムでも、ほとんどの場合、書き込みが可能です。

後で、ssh コマンドで、/tmp の場所から既知の_hosts ファイルを読み出すように ssh を指定することができます。

ssh -o UserKnownHostsFile=/tmp/known_hosts -o StrictHostKeyChecking=no user_name@destination_server_ip
-2
-2
-2
2018-11-09 12:14:07 +0000

~/.ssh/known_hostsファイルのパーミッションを確認してください。この問題が発生したとき、私のファイルのパーミッションは正しくありませんでした。私はそれを修正しました。

chmod 0600 ~/.ssh/known_hosts

関連する質問

6
10
19
12
3