最新在线看的黄网|伊人久久久久久久网站|日本a视频专区二|欧美A级无码毛片|有扫五av在线播放|好屌日aV在线播放|内射福利视频导航|极品少妇一区二区视频|无吗在线一区播放|性爱黄色视频不卡

Linux 中關(guān)于 known_hosts 文件,你所應(yīng)該知道的

本文重點(diǎn)要介紹的,是上述列表中的最后一個(gè)文件,known_hosts,它是客戶端 ssh 配置文件的重要組成部分。

AJNAPY Data Background digital illustration

如果你經(jīng)常使用?Linux?系統(tǒng) ssh 到一個(gè)遠(yuǎn)程服務(wù)器,在主目錄中一般會(huì)有一個(gè) .ssh 文件夾,在這個(gè)文件夾中會(huì)有若干個(gè)文件,其中包括一個(gè) known_hosts 文件:

$ ls -l .ssh
total 16
-rwxr-xr-x 1 abhishek abhishek  618 Aug 30 16:52 config
-rw------- 1 abhishek abhishek 1766 Nov 12  2017 id_rsa
-rw-r--r-- 1 abhishek abhishek  398 Nov 12  2017 id_rsa.pub
-rw------- 1 abhishek abhishek    1 Sep 26 15:00 known_hosts

這里,id_rsa 是你 ssh 的私鑰,id_rsa.pub 為ssh公鑰,config 文件用于創(chuàng)建概要信息,以便進(jìn)行 ssh 連接。

本文重點(diǎn)要介紹的,是上述列表中的最后一個(gè)文件,known_hosts,它是客戶端 ssh 配置文件的重要組成部分。

SSH中的 known_hosts 文件是什么
known_hosts 文件存儲(chǔ)用戶訪問(wèn)的主機(jī)的公鑰。這是一個(gè)非常重要的文件,它通過(guò)將用戶的身份保存到本地系統(tǒng)來(lái)確保用戶連接到合法的服務(wù)器。這也有助于避免中間人攻擊。

當(dāng)你通過(guò)SSH連接到一個(gè)新的遠(yuǎn)程服務(wù)器時(shí),系統(tǒng)會(huì)提示你是否要將遠(yuǎn)程主機(jī)添加到 known_hosts 文件:

The authenticity of host '194.195.118.85 (194.195.118.85)' can't be established.
ED25519 key fingerprint is SHA256:wF2qILJg7VbqEE4/zWmyMTSwy3ja7be1jTIg3WzmpeE.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?

選擇 yes,服務(wù)器的連接信息會(huì)保存在你的系統(tǒng)中。

避免中間人攻擊


我們假設(shè)你經(jīng)常連接某個(gè)服務(wù)器,且將該服務(wù)器的連接信息保存在了 know_hosts 文件中。

如果遠(yuǎn)程服務(wù)器的公鑰發(fā)生了更改,你的系統(tǒng)會(huì)根據(jù) known_hosts 文件中存儲(chǔ)的信息記錄此次更改,你也會(huì)收到此更改的通知:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: POSSIBLE DNS SPOOFING DETECTED!
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The RSA host key for xyz remote host has changed,and the key for the corresponding IP address xxx.yy.xxx.yy is unknown. This could either mean that DNS SPOOFING is happening or the IP address for the host and its host key have changed at the same time.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
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
69:4e:bb:70:6a:64:e3:78:07:6f:b4:00:41:07:d8:9c.
Please contact your system administrator.
Add correct host key in /home/.ssh/known_hosts to get rid of this message.
Offending key in /home/.ssh/known_hosts:1
Keyboard-interactive authentication is disabled to avoid man-in-the-middle attacks.

在這種情況下,你可以在接受這個(gè)新密鑰之前聯(lián)系遠(yuǎn)程服務(wù)器的管理員,以便確保遠(yuǎn)程服務(wù)器沒(méi)有受到入侵。

有時(shí)候,管理員可能會(huì)由于重新安裝服務(wù)器而故意更改服務(wù)器(主機(jī))的密鑰。

無(wú)論更改的原因是什么,你都需要首先從 known_hosts 文件中刪除舊密鑰,以便重新連接到遠(yuǎn)程服務(wù)器。下次連接到此服務(wù)器時(shí),客戶端主機(jī)將為此服務(wù)器創(chuàng)建新的主機(jī)密鑰。

管理多個(gè)經(jīng)過(guò)身份驗(yàn)證的用戶
如前所述,一旦客戶機(jī)主機(jī)成功連接到遠(yuǎn)程服務(wù)器,其 known_hosts 文件將附加服務(wù)器的公鑰。

有時(shí),你可能會(huì)希望對(duì)服務(wù)器進(jìn)行身份驗(yàn)證,而不需要提示進(jìn)行服務(wù)器密鑰驗(yàn)證。例如,你正在運(yùn)行 Ansible 之類的配置管理工具,并且不希望客戶端主機(jī)請(qǐng)求服務(wù)器密鑰驗(yàn)證。

因此,如果你有多個(gè)用戶,可以使用三種方式繞過(guò)SSH交互提示:

1)手動(dòng)將服務(wù)器的公鑰附加到每個(gè)用戶的known_hosts文件中;

2)通過(guò) ssh 訪問(wèn)服務(wù)器時(shí),對(duì)每個(gè)客戶端都使用命令行設(shè)置參數(shù) -o StrictHostKeyChecking=no(不推薦);

3)在主 ssh_known_hosts 文件中注冊(cè)所有主機(jī),然后將此文件編排到所有客戶端主機(jī),然后使用 ssh-keyscan?命令:

ssh-keyscan -H -t rsa ‘your-server-ip’ >> /etc/ssh/ssh_known_hosts

下圖顯示了如何使用 StrictHostKeyChecking=no 選項(xiàng):

上述方法中,第一種方法相比于另外兩種方法,操作起來(lái)更加繁瑣。

從 known_hosts 文件獲取遠(yuǎn)程系統(tǒng)詳細(xì)信息

獲取遠(yuǎn)程系統(tǒng)的詳細(xì)信息,不是一個(gè)簡(jiǎn)單的工作。

基于安全考慮,幾乎所有 Linux 系統(tǒng)都會(huì)將 ssh 配置文件中的 HashKnownHosts 參數(shù)設(shè)置為 yes。

這也就意味著在 known_hosts 文件中的信息是以 hash 方式存儲(chǔ)的,你可能會(huì)看到一些隨機(jī)數(shù),但這并不能提供任何有用的信息。

$ cat .ssh/known_hosts
|1|yWIW17YIg0wBRXJ8Ktt4mcfBqsk=|cFHOrZ8VEx0vdOjau2XQr/K7B/c= ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFR293PJnDCj59XxfqYGctrMo60ZU5IOjACZZNRp9D6f
|1|Ta7hoH/az4O3l2dwfaKh8O2jitI=|WGU5TKhMA+2og1qMKE6kmynFNYo= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCmrxLW436AyBGyGCggl/j2qBCr782AVIvbiTEsWNBWLcWMKYAQpTdAXnaV4bBRqnk2NJg/60XDHKC2DF1tzx6ABWN/R6vcUAbulI9H1RUWpJ1AiDmFL84MvW2UukbpN5a6Lr+DvjclVqPxJRjQKr6Vy2K9oJgGKnHVcWSIHeAlW49kCCg5fIxF8stBTqJg0cRk6uxmcYVud1vh9a7SaZGK+jFZTB75RiHAVFuitHWpljecMxJRNYy/EhmmXrrvyU8pObVXlWlDd61uwExi4uEwNSY+Do7vR1y8svnt9mjTzzyM6MhT4sOcxWmNgdmw7bU/wPpie3dSjZMQeu2mQCSM7SG28dwjSyFPpanRsZKzkh0okAaCSItoNwl6zOf6dE3zt0s5EI6BPolhFAbT3NqmXRblxb7eV8rGEPf14iguHUkg6ZQr2OUdfeN1FYNMJ8Gb9RD159Mwjl4/jPIBdnXvt7zYct3XhPKm7Wxv4K/RWZE837C7mGQh2KEahWajdq8=
|1|NonAy25kVXL24U2mx6ZNxAY5m98=|ypf0IMpf3qq3vhrvUMprssOhODs= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBE3br/9jaZfdB+qBxiVEZBJMb4XQONwzV4tH1xeFZX/zkyws2eBHrVO9O5l9b6M6+gO6nBtCwAzzaeLOn6mo8GQ=

如果你知道系統(tǒng)的主機(jī)名或IP地址,則可以從 known_hosts 獲取相關(guān)信息:

ssh-keygen -l -F

但是,如果你想要一個(gè)能夠以明文形式列出的所有服務(wù)器及其詳細(xì)信息的命令,那是不可能的。

當(dāng)然,現(xiàn)實(shí)中會(huì)有一些專門的工具可以破譯 known_hosts,但這不是普通用戶可以做到的。

從known_hosts中刪除信息
如果想要從 known_hosts 文件中刪除某個(gè)特定的主機(jī)信息,可以根據(jù)遠(yuǎn)程系統(tǒng)的主機(jī)名或 IP 執(zhí)行這個(gè)操作:

ssh-keygen -R

當(dāng)然也可以先識(shí)別相關(guān)服務(wù)器的信息,然后使用 rm 命令手動(dòng)刪除,但是這個(gè)操作要麻煩的多,遠(yuǎn)不如使用上述命令方便。

ssh-keygen -R 用 rm 命令手動(dòng)刪除,但是這個(gè)操作要麻煩的多,遠(yuǎn)不如使用上述命令方便。

通過(guò)了解 ssh 相關(guān)的配置文件,有助于更好的理解系統(tǒng)安全相關(guān)知識(shí)。known_hosts 正是系統(tǒng)安全相關(guān)的重要組成部分。

以上就是本次分享全部?jī)?nèi)容。

阿里企業(yè)郵箱、網(wǎng)易企業(yè)郵箱、新網(wǎng)企業(yè)郵箱
【標(biāo)準(zhǔn)版】400元/年/5用戶/無(wú)限容量
【外貿(mào)版】500元/年/5用戶/無(wú)限容量
其它服務(wù):網(wǎng)站建設(shè)、企業(yè)郵箱、數(shù)字證書ssl、400電話、
聯(lián)系方式:電話:13714666846 微信同號(hào)

聲明:本站所有作品(圖文、音視頻)均由用戶自行上傳分享,或互聯(lián)網(wǎng)相關(guān)知識(shí)整合,僅供網(wǎng)友學(xué)習(xí)交流,若您的權(quán)利被侵害,請(qǐng)聯(lián)系 管理員 刪除。

本文鏈接:http://www.goalq.com.cn/article_32560.html