ssh-keyscan

擷取伺服器主機金鑰,供後續檢查。

執行前須知

擷取到的金鑰尚未經過身分驗證。寫入 known_hosts 前,必須透過可信管理員或獨立可信來源核對指紋。不要將未核驗的輸出直接附加至 known_hosts。掃描並非登入成功,亦不代表具備存取權限。以下重新導向會覆寫既有的 hostkeys.txt。

使用範例

於五秒逾時內擷取 2222 連接埠的主機金鑰,儲存至本機檔案。

ssh-keyscan -T 5 -p 2222 server.example.com > hostkeys.txt

顯示擷取到的指紋;獨立核對後再決定是否信任。

ssh-keygen -lf hostkeys.txt

參數與範例

-p port常用

查詢指定的SSH連接埠。

範例
ssh-keyscan -p 2222 server.example.com
-T timeout常用

設定連線逾時(以秒為單位)。

範例
ssh-keyscan -T 5 server.example.com
-t type常用

請求特定的主機金鑰類型,以逗號分隔。

範例
ssh-keyscan -t ed25519,rsa server.example.com
-4 / -6

分別僅使用 IPv4 或僅使用 IPv6。

範例
ssh-keyscan -4 server.example.com
-f file

從檔案中讀取主機名稱或位址,每行一個。

範例
ssh-keyscan -f hosts.txt
-H

對輸出中的主機名稱進行哈希處理。這不會驗證傳回的密鑰。

範例
ssh-keyscan -H server.example.com
-c

如果支持,請請求主機憑證而不是普通主機金鑰。

範例
ssh-keyscan -c server.example.com

權威參考

核對日期:2026 年 10 月 27 日