首頁 > 網路管理 > ssh-keyscan

ssh-keyscan: 收集 SSH 主機金鑰

這是一個用於收集 SSH 伺服器公開主機金鑰的工具。收集到的金鑰會被添加到 `~/.ssh/known_hosts` 檔案中,以便 SSH 用戶端在連接伺服器時驗證伺服器的身份。這在防止中間人攻擊 (Man-in-the-Middle attack) 方面起著至關重要的作用。

概述

ssh-keyscan 從一個或多個主機收集 SSH 公開金鑰並將其輸出到標準輸出。這些金鑰會被添加到 `known_hosts` 檔案中,用於增強 SSH 連線的安全性。

主要功能

  • 收集 SSH 主機公開金鑰
  • 支援更新 `known_hosts` 檔案
  • 防止中間人攻擊 (MITM)
  • 掃描多個主機或特定連接埠

主要選項

ssh-keyscan 命令的主要選項用於控制金鑰收集方式、輸出格式以及目標主機的指定。

金鑰收集與輸出

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`ssh-keyscan` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

使用範例

透過 ssh-keyscan 的各種使用範例,了解如何有效收集和管理 SSH 主機金鑰。

掃描單一主機的金鑰

ssh-keyscan example.com

將指定主機的所有公開金鑰顯示到標準輸出。

將金鑰添加到 known_hosts 檔案

ssh-keyscan -H example.com >> ~/.ssh/known_hosts

收集主機的金鑰並將其添加到 `~/.ssh/known_hosts` 檔案。建議使用 `-H` 選項雜湊主機名稱進行儲存,以提高安全性。

掃描特定連接埠的金鑰

ssh-keyscan -p 2222 example.com

掃描提供 SSH 服務但使用非預設 SSH 連接埠 (22) 的主機的金鑰。

從檔案讀取主機列表

ssh-keyscan -f hosts.txt

當 `hosts.txt` 檔案中每行包含一個主機名稱時,掃描該檔案中所有主機的金鑰。

僅掃描特定金鑰類型

ssh-keyscan -t rsa,ecdsa example.com

僅收集 RSA 和 ECDSA 金鑰類型。

提示與注意事項

使用 ssh-keyscan 時的實用提示和需要注意的安全事項。

安全考量

  • 請務必確認收集到的金鑰來自可信來源。特別是對於首次連接的伺服器,最好直接從伺服器管理員那裡獲取金鑰的指紋。
  • `known_hosts` 檔案包含敏感資訊,應使用適當的檔案權限(通常是 600)進行保護。
  • `ssh-keyscan` 僅收集伺服器的公開金鑰,不會嘗試對伺服器進行身份驗證。因此,即使沒有伺服器的存取權限,也可以收集其金鑰。

在自動化腳本中使用

在配置新伺服器或管理大型環境中的 `known_hosts` 檔案時,可以將 `ssh-keyscan` 包含在自動化腳本中。這可以減少手動添加金鑰的麻煩,並維持一致的安全策略。


相同類別命令