主頁(yè) > 知識(shí)庫(kù) > 禁用遠(yuǎn)程主機(jī)對(duì)SSH的公鑰進(jìn)行檢查的方法

禁用遠(yuǎn)程主機(jī)對(duì)SSH的公鑰進(jìn)行檢查的方法

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

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

SSH 連接遠(yuǎn)程主機(jī)時(shí),會(huì)檢查主機(jī)的公鑰。如果是第一次該主機(jī),會(huì)顯示該主機(jī)的公鑰摘要,提示用戶是否信任該主機(jī):

復(fù)制代碼
代碼如下:
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)?

當(dāng)選擇接受,就會(huì)將該主機(jī)的公鑰追加到文件 ~/.ssh/known_hosts 中。當(dāng)再次連接該主機(jī)時(shí),就不會(huì)再提示該問(wèn)題了。 如果因?yàn)槟撤N原因(服務(wù)器系統(tǒng)重裝,服務(wù)器間IP地址交換,DHCP,虛擬機(jī)重建,中間人劫持),該IP地址的公鑰改變了,當(dāng)使用 SSH 連接的時(shí)候,會(huì)報(bào)錯(cuò):

復(fù)制代碼
代碼如下:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @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.

上面的警告信息說(shuō)的是:

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

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

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

復(fù)制代碼
代碼如下:
Host * StrictHostKeyChecking no

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

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

如何防止遠(yuǎn)程主機(jī)公鑰改變導(dǎo)致 SSH 連接失敗

當(dāng)確認(rèn)中間人劫持攻擊風(fēng)險(xiǎn)比較小的情況下,才可以使用下面的方法,禁用 SSH 遠(yuǎn)程主機(jī)的公鑰檢查。 SSH 客戶端提供一個(gè) UserKnownHostsFile 配置,允許指定不同的 known_hosts 文件。那么將 known_hosts 指向不同的文件,不就不會(huì)造成公鑰沖突導(dǎo)致的中斷了么?

復(fù)制代碼
代碼如下:
$ 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)了:

復(fù)制代碼
代碼如下:
$ 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:
如果設(shè)置了無(wú)口令 SSH 登錄(即通過(guò)客戶端公鑰認(rèn)證),就可以直接連接到遠(yuǎn)程主機(jī)。這是基于 SSH 協(xié)議的自動(dòng)化任務(wù)常用的手段。

標(biāo)簽:淮安 石家莊 馬鞍山 和田 開封 和田 湖南 法律問(wèn)答

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《禁用遠(yuǎn)程主機(jī)對(duì)SSH的公鑰進(jìn)行檢查的方法》,本文關(guān)鍵詞  禁用,遠(yuǎn)程,主機(jī),對(duì),SSH,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《禁用遠(yuǎn)程主機(jī)對(duì)SSH的公鑰進(jìn)行檢查的方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于禁用遠(yuǎn)程主機(jī)對(duì)SSH的公鑰進(jìn)行檢查的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章