如何自動(dòng)接受 SSH密鑰指紋?
首次連接到Linux系統(tǒng)時(shí),SSH會(huì)提示你接受計(jì)算機(jī)的指紋以成功建立連接,因?yàn)?ldquo; known_hosts”文件中沒有指紋。
指紋是系統(tǒng)公鑰的縮寫版本,為了保護(hù)自己免受中間人攻擊(MITM),ssh程序使用自上次連接以來(lái)存儲(chǔ)的指紋驗(yàn)證遠(yuǎn)程系統(tǒng)ssh的指紋。如果指紋已更改,系統(tǒng)將提醒你并詢問是否要繼續(xù)。
有時(shí)你可能需要自動(dòng)接受SSH指紋。例如,如果創(chuàng)建了一個(gè)shell腳本用來(lái)遠(yuǎn)程管理多臺(tái)linux服務(wù)器。
可以使用以下兩種方法來(lái)完成此操作。
使用StrictHostKeyChecking=no選項(xiàng)自動(dòng)接受ssh指紋。
使用ssk-keyscan命令接受ssh指紋。
首次連接到遠(yuǎn)程計(jì)算機(jī)時(shí),將警告你無(wú)法建立主機(jī)的真實(shí)性,并提供密鑰指紋以進(jìn)行驗(yàn)證。
接受指紋后,它將被保存在“known_hosts”文件中,當(dāng)重新連接到同一個(gè)遠(yuǎn)程主機(jī)時(shí),SSH根據(jù)known_hosts文件檢查指紋,以驗(yàn)證其身份。
1、如何使用SSH選項(xiàng)自動(dòng)接受SSH密鑰指紋?
此方法簡(jiǎn)單明了,只需使用SSH命令添加選項(xiàng)即可實(shí)現(xiàn)。使用此選項(xiàng)時(shí),ssh會(huì)自動(dòng)將新的主機(jī)密鑰添加到用戶known_hosts文件中。
- [root@localhost ~]# ssh -o "StrictHostKeyChecking no" localhost
- Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
- root@localhost's password:
- Last login: Mon Jan 25 20:01:53 2021 from 192.168.43.1
以上警告表明它已將一個(gè)密鑰添加到known_host文件。
2、如何使用ssk-keyscan命令自動(dòng)接受SSH密鑰指紋?
這是另一種方法,ssh-keycan允許你將ssh指紋附加到known_hosts文件中。當(dāng)你想要批量添加時(shí),此工具非常有用。使用下面命令操作:
- [root@localhost ~]# ssh-keyscan -H 192.168.43.138 >> ~/.ssh/known_hosts
- # 192.168.43.138:22 SSH-2.0-OpenSSH_7.4
- # 192.168.43.138:22 SSH-2.0-OpenSSH_7.4
- # 192.168.43.138:22 SSH-2.0-OpenSSH_7.4
使用以下命令將多臺(tái)遠(yuǎn)程主機(jī)的ssh指紋添加到known_hosts。必須將遠(yuǎn)程主機(jī)的IP地址添加到一個(gè)文件中,并使用ssh-keyscan命令調(diào)用它,如下所示,將各個(gè)遠(yuǎn)程服務(wù)器的ip地址保存在文本文件里面:
- [root@localhost ~]# cat remote-hosts.txt
- 192.168.43.137
- 192.168.43.138
- 192.168.43.166
然后使用ssh-keyscan工具將它們的ssh指紋添加到known_hosts:
- [root@localhost ~]# ssh-keyscan -f ./remote-hosts.txt >> ~/.ssh/known_hosts
- # 192.168.43.138:22 SSH-2.0-OpenSSH_7.4
- # 192.168.43.137:22 SSH-2.0-OpenSSH_7.8
- # 192.168.43.137:22 SSH-2.0-OpenSSH_7.8
- # 192.168.43.137:22 SSH-2.0-OpenSSH_7.8
- # 192.168.43.138:22 SSH-2.0-OpenSSH_7.4
- # 192.168.43.138:22 SSH-2.0-OpenSSH_7.4
- # 192.168.43.166:22 SSH-2.0-OpenSSH_7.4
- # 192.168.43.166:22 SSH-2.0-OpenSSH_7.4
- # 192.168.43.166:22 SSH-2.0-OpenSSH_7.4
本文轉(zhuǎn)載自微信公眾號(hào)「Linux就該這么學(xué)」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系Linux就該這么學(xué)公眾號(hào)。