主頁 > 知識庫 > 禁用遠程主機對SSH的公鑰進行檢查的方法

禁用遠程主機對SSH的公鑰進行檢查的方法

熱門標簽:電話機器人服務器部署 地圖上標注點位的圖標 電銷語音機器人哪個好 常熟外呼系統(tǒng) 中山防封卡電銷卡辦理 百度地圖標注未成功 拉薩銷售外呼系統(tǒng)軟件 文山外呼營銷系統(tǒng) 江蘇小型外呼系統(tǒng)軟件

SH 公鑰檢查是一個重要的安全機制,可以防范中間人劫持等黑客攻擊。但是在特定情況下,嚴格的 SSH 公鑰檢查會破壞一些依賴 SSH 協(xié)議的自動化任務,就需要一種手段能夠繞過 SSH 的公鑰檢查。
首先看看什么是 SSH 公鑰檢查

SSH 連接遠程主機時,會檢查主機的公鑰。如果是第一次該主機,會顯示該主機的公鑰摘要,提示用戶是否信任該主機:

復制代碼
代碼如下:
The authenticity of host '192.168.0.110 (192.168.0.110)' can't be established. RSA key fingerprint is a3:ca:ad:95:a1:45:d2:57:3a:e9:e7:75:a8:4c:1f:9f. Are you sure you want to continue connecting (yes/no)?

當選擇接受,就會將該主機的公鑰追加到文件 ~/.ssh/known_hosts 中。當再次連接該主機時,就不會再提示該問題了。 如果因為某種原因(服務器系統(tǒng)重裝,服務器間IP地址交換,DHCP,虛擬機重建,中間人劫持),該IP地址的公鑰改變了,當使用 SSH 連接的時候,會報錯:

復制代碼
代碼如下:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @nbsp;nbsp;nbsp; WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!nbsp;nbsp;nbsp;nbsp; @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is e9:0c:36:89:7f:3c:07:71:09:5a:9f:28:8c:44:e9:05. Please contact your system administrator. Add correct host key in /home/jiangxin/.ssh/known_hosts to get rid of this message. Offending key in /home/jiangxin/.ssh/known_hosts:81 RSA host key for 192.168.0.110 has changed and you have requested strict checking. Host key verification failed.

上面的警告信息說的是:

    服務器公鑰已經改變,新的公鑰的摘要是:e9:0c:36:89:7f:3c:07:71:09:5a:9f:28:8c:44:e9:05.
    該服務器原來的公鑰記錄在文件 ~/.ssh/known_hosts 中第 81 行。

如果確認不是中間人劫持,需要連接到該服務器,怎么辦呢?最簡單的就是用 vi 打開 ~/.ssh/known_hosts 文件,定位到 81 行,將該行刪除。之后就可以使用 ssh 連接了。
如何讓連接新主機時,不進行公鑰確認?

在首次連接服務器時,會彈出公鑰確認的提示。這會導致某些自動化任務,由于初次連接服務器而導致自動化任務中斷?;蛘哂捎?nbsp; ~/.ssh/known_hosts 文件內容清空,導致自動化任務中斷。 SSH 客戶端的 StrictHostKeyChecking 配置指令,可以實現(xiàn)當?shù)谝淮芜B接服務器時,自動接受新的公鑰。只需要修改 /etc/ssh/ssh_config 文件,包含下列語句:

復制代碼
代碼如下:
Host * StrictHostKeyChecking no

或者在 ssh 命令行中用 -o 參數(shù)

復制代碼
代碼如下:
$ sshnbsp; -o StrictHostKeyChecking=nonbsp; 192.168.0.110

如何防止遠程主機公鑰改變導致 SSH 連接失敗

當確認中間人劫持攻擊風險比較小的情況下,才可以使用下面的方法,禁用 SSH 遠程主機的公鑰檢查。 SSH 客戶端提供一個 UserKnownHostsFile 配置,允許指定不同的 known_hosts 文件。那么將 known_hosts 指向不同的文件,不就不會造成公鑰沖突導致的中斷了么?

復制代碼
代碼如下:
$ ssh -o UserKnownHostsFile=/dev/null 192.168.0.110 The authenticity of host '192.168.0.110 (192.168.0.110)' can't be established. RSA key fingerprint is e9:0c:36:89:7f:3c:07:71:09:5a:9f:28:8c:44:e9:05. Are you sure you want to continue connecting (yes/no)?

看,提示信息由公鑰改變中斷警告,變成了首次連接的提示。 和之前提到的 StrictHostKeyChecking 配置配合使用,則不再有任何警告出現(xiàn)了:

復制代碼
代碼如下:
$ ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null 192.168.0.110 Warning: Permanently added '192.168.0.110' (RSA) to the list of known hosts. jiangxin@192.168.0.110's password:
如果設置了無口令 SSH 登錄(即通過客戶端公鑰認證),就可以直接連接到遠程主機。這是基于 SSH 協(xié)議的自動化任務常用的手段。

標簽:淮安 石家莊 馬鞍山 和田 開封 和田 湖南 法律問答

巨人網絡通訊聲明:本文標題《禁用遠程主機對SSH的公鑰進行檢查的方法》,本文關鍵詞  禁用,遠程,主機,對,SSH,的,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《禁用遠程主機對SSH的公鑰進行檢查的方法》相關的同類信息!
  • 本頁收集關于禁用遠程主機對SSH的公鑰進行檢查的方法的相關信息資訊供網民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章