題 如何避免已知主機的SSH主機驗證?


每當我嘗試使用SSH連接服務器時,我都會收到以下提示。我輸入“是”,但有沒有辦法讓它變成這樣?

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)? 

135
2018-03-29 09:43


起源


/ dev / null適用於那些認為在中間攻擊中對人類免疫的人:) - Tim Post♦
最差的部分:類型 y 節省一些時間,它抱怨: Please type 'yes' or 'no':  (哼) - ADTC


答案:


使用 -o 選項,

ssh -o "StrictHostKeyChecking no" user@host

190
2018-03-29 10:53



您可能希望使用帶有標誌'-i'的備用標識文件 - MUY Belgium
使用備用身份文件會有什麼用處?我的意思是,如果您要連接到受感染的主機,那麼它對您進行身份驗證的方式有何不同 - 它不像受感染的主機也可以竊取您的密鑰。 - Dagelf


將以下行添加到開頭 /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


83
2017-08-06 21:56



可惜我只能向你投票一次。將KnownHosts設置為/ dev / null是天才。 - J0hnG4lt
你最聰明的人。 - Darth Egregious
哈!告訴我的妻子。 - JimFred


您應該只在第一次連接到新主機時才能獲得此信息。你回應後 yes 主機存儲在 ~/.ssh/known_hosts 下次連接時不會收到提示。

請注意,如果 ~/.ssh/known_hosts 由於任何原因(例如權限問題)無法寫入,因此每次連接時都會提示您。


26
2018-03-29 09:47



問題是無論如何都要避免提示? - shantanuo
我嘗試將“CheckHostIP no”添加到/ etc / ssh / ssh_config文件中。但它似乎沒有起作用 - shantanuo
sudo chown -R user:user .ssh; sudo chmod 700 .ssh; sudo chmod -R 600 .ssh /; ssh-keygen -R $ hostname和reconnect應該解決所有問題,並且只有在ssk_Hostkey被刪除時才會重新提示改變或你是MITM的受害者。 - linuxdev2013
它說“每次”所以這個答案是非常合適的 - tarikakyol


最好的方法(因為它不犧牲安全性)是從一個客戶端連接一次到所有計算機(每次都會提示你,總是回答是)。正如在另一個答案中指出的那樣,密鑰將存儲在〜/ .ssh / known_hosts中。然後將此文件複製到您以後可能要連接的每台客戶端計算機(可能是您使用的每個用戶帳戶)。然後所有這些帳戶將“知道”計算機,因此沒有提示。

僅僅禁用提示的優點是SSH實際上可以檢查是否存在MITM攻擊。


11
2018-06-08 22:29



雖然,如果你經常通過轉發連接ssh,你會想要將它添加到/ etc / ssh / ssh_config:主機127.0.0.1 NoHostAuthenticationForLocalhost yes - Dagelf


如果要禁用確認,而不是身份驗證,則可以使用選項:“ - o CheckHostIP = no”

ssh -i sergeys_rsa_key.pem -o CheckHostIP=no brin@8.8.8.8

1
2017-07-11 23:20



OP已經得到了相同的答案並接受了它。 - Ayan


這可能是因為您的ssh密鑰服務器已更改,因為服務器IP或域相同但ssh密鑰不匹配。

您必須刪除存儲的密鑰 /home/$user/.ssh/known_hosts 避免這個消息。

我修復了它刪除該文件中的所有密鑰,因此為該域名創建了新的令牌。


0
2017-12-12 18:09



鍵 變 用一盒atsigns產生一個更加醜陋的消息 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!  和 IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! 全部大寫。問題中的消息只有在有問題時才會出現 不 已經進入了 known_hosts。 - dave_thompson_085


檢查你的權限 ~/.ssh/known_hosts 文件。當我遇到這個問題時,我的錯誤。我修復它:

chmod 0600 ~/.ssh/known_hosts

-1
2017-11-09 12:14