如何自動接受SSH金鑰指紋?

2021-10-18 13:54:55 字數 2460 閱讀 3492

首次連線到linux系統時,ssh會提示你接受計算機的指紋以成功建立連線,因為「 known_hosts」檔案中沒有指紋。

指紋是系統公鑰的縮寫版本,為了保護自己免受中間人攻擊(mitm),ssh程式使用自上次連線以來儲存的指紋驗證遠端系統ssh的指紋。如果指紋已更改,系統將提醒你並詢問是否要繼續。

有時你可能需要自動接受ssh指紋。例如,如果建立了乙個shell

指令碼用來遠端管理多台linux伺服器。

可以使用以下兩種方法來完成此操作。

首次連線到遠端計算機時,將警告你無法建立主機的真實性,並提供金鑰指紋以進行驗證。

接受指紋後,它將被儲存在「known_hosts」檔案中,當重新連線到同乙個遠端主機時,ssh根據known_hosts檔案檢查指紋,以驗證其身份。

1、如何使用ssh選項自動接受ssh金鑰指紋?

此方法簡單明瞭,只需使用ssh命令新增選項即可實現。使用此選項時,ssh會自動將新的主機金鑰新增到使用者known_hosts檔案中。

以上警告表明它已將乙個金鑰新增到known_host檔案。

2、如何使用ssk-keyscan命令自動接受ssh金鑰指紋?

這是另一種方法,ssh-keycan允許你將ssh指紋附加到known_hosts檔案中。當你想要批量新增時,此工具非常有用。使用下面命令操作:

[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

使用以下命令將多台遠端主機的ssh指紋新增到known_hosts。必須將遠端主機的ip位址新增到乙個檔案中,並使用ssh-keyscan命令呼叫它,如下所示,將各個遠端伺服器的ip位址儲存在文字檔案裡面:

[root@localhost ~]# cat remote-hosts.txt 

192.168.43.137

192.168.43.138

192.168.43.166

然後使用ssh-keyscan工具將它們的ssh指紋新增到known_hosts:

總結首次連線到linux系統時,ssh會提示你接受計算機的指紋以成功建立連線,因為「 known_hosts」檔案中沒有指紋。

如何生成ssh金鑰檔案

還用之前的目錄 按照以下步驟執行 生成ssh key ssh keygen t rsa c gitlab的郵箱賬號 yes or no 就輸入yes 其他的預設就行 直接按回車 檢視ssh公鑰,windows是一樣的 cat ssh id rsa.pub將公鑰複製下來 開啟gitlab 找到設定 新...

整理 配置SSH金鑰自動登入遠端伺服器

公鑰私鑰匹配通過驗證,允許訪問伺服器。1 在本地建立一對金鑰 2 將公鑰傳到需要訪問的伺服器上 3 將公鑰放入伺服器的authorized keys,確保訪問時能通過驗證 4 本地ssh config,建立別名,ssh 別名相當於ssh user ip命令在本地機器建立金鑰 ssh keygen t...

如何批量複製ssh金鑰到Linux系統主機

每次登入都要輸入密碼很煩人,下面的指令碼可以批量匯入公鑰到指定多個ip中,使用後記得把檔案刪除掉!sshpass在macos下可能不好搞定,brew因為安全問題預設不給安裝,可以通過別人寫好的指令碼來安裝,其他系統自己想辦法!很簡單。brew installtmp pass yourpassword...