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

SH 公鑰檢查是一個重要的安全機制,可以防范中間人劫持等黑客攻擊。但是在特定情況下,嚴格的 SSH 公鑰檢查會破壞一些依賴 SSH 協(xié)議的自動化任務,就需要一種手段能夠繞過 SSH 的公鑰檢查。
首先看看什么是 SSH 公鑰檢查
SSH 連接遠程主機時,會檢查主機的公鑰。如果是第一次該主機,會顯示該主機的公鑰摘要,提示用戶是否信任該主機:
當選擇接受,就會將該主機的公鑰追加到文件 ~/.ssh/known_hosts 中。當再次連接該主機時,就不會再提示該問題了。 如果因為某種原因(服務器系統(tǒng)重裝,服務器間IP地址交換,DHCP,虛擬機重建,中間人劫持),該IP地址的公鑰改變了,當使用 SSH 連接的時候,會報錯:
上面的警告信息說的是:
服務器公鑰已經(jīng)改變,新的公鑰的摘要是: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 連接了。
如何讓連接新主機時,不進行公鑰確認?
在首次連接服務器時,會彈出公鑰確認的提示。這會導致某些自動化任務,由于初次連接服務器而導致自動化任務中斷。或者由于 ~/.ssh/known_hosts 文件內(nèi)容清空,導致自動化任務中斷。 SSH 客戶端的 StrictHostKeyChecking 配置指令,可以實現(xiàn)當?shù)谝淮芜B接服務器時,自動接受新的公鑰。只需要修改 /etc/ssh/ssh_config 文件,包含下列語句:
或者在 ssh 命令行中用 -o 參數(shù)
如何防止遠程主機公鑰改變導致 SSH 連接失敗
當確認中間人劫持攻擊風險比較小的情況下,才可以使用下面的方法,禁用 SSH 遠程主機的公鑰檢查。 SSH 客戶端提供一個 UserKnownHostsFile 配置,允許指定不同的 known_hosts 文件。那么將 known_hosts 指向不同的文件,不就不會造成公鑰沖突導致的中斷了么?
看,提示信息由公鑰改變中斷警告,變成了首次連接的提示。 和之前提到的 StrictHostKeyChecking 配置配合使用,則不再有任何警告出現(xiàn)了:
相關文章
- 如何申請免費的云主機?云主機由于穩(wěn)定性以及高性能,現(xiàn)在越來越受歡迎?,F(xiàn)在市場上有各種各樣的云主機,但有些網(wǎng)站是給提供免費試用的。下面分享騰訊云主機的申請流程,需2015-07-16
- 這篇文章主要介紹了從VirtualBox虛擬主機訪問NAT客戶機的方法,即啟用端口通過SSH連接客戶機的方法,需要的朋友可以參考下2015-07-07
- 這篇文章主要介紹了KVM虛擬機上關于宿主機的USB設備使用問題探究,作者在Windows7的宿主機和CentOS及Fedora的虛擬機上做出了嘗試,需要的朋友可以參考下2015-06-30
- 在選購美國主機之前,需要對美國主機有一個全面的認識,先了解下很多站長選擇美國主機的原因,美國主機有哪些優(yōu)點?2015-03-17
亞馬遜AWS Dell云 Windows Azure 阿里云ECS免費VPS主機試用
去年亞馬遜AWS就已經(jīng)開始醞釀著進駐國內(nèi),目前亞馬遜AWS中國版已經(jīng)推出,企業(yè)和開發(fā)者可開始在amazonaws.cn申請預覽版,用戶只要填寫一個申請表就可以等待開通和使用了,現(xiàn)2015-03-06Conoha.jp日本免費試用VPS主機和VPS主機性能測試體驗
Conoha.jp是日本GMO集團下的以提供VPS服務器為主的網(wǎng)絡服務商,現(xiàn)在為大家提供免費一個月的日本VPS主機試用體驗服務,1G內(nèi)存2核100G硬盤,100M共享帶寬,KVM架構(gòu),申請注冊2015-01-26站長們該如何選擇虛擬主機?國內(nèi)國外虛擬主機各自優(yōu)劣對比
站長們該如何選擇虛擬主機?當購買好域名后,站長們就該選擇虛擬主機了,虛擬主機有國內(nèi)和國外之分。下面小編就為大家?guī)韲鴥?nèi)國外虛擬主機各自優(yōu)劣對比,一起來看看吧2015-12-18