Ssh

使用 PuTTY 連接到新的 Amazon EC2 實例時,如何確認 SSH 指紋?

  • December 27, 2019

當我使用新的 EC2 生成的密鑰對創建執行 Ubuntu 18.04 的新 EC2 實例時,我使用 puttygen 將生成的 .pem 轉換為 .ppk,然後嘗試使用 PuTTY 連接到該實例,並顯示預期的確認提示SSH 指紋:

PuTTY指紋檢查提示

PuTTY 向我展示了 MD5 雜湊的十六進製表示。這是 PuTTY 唯一支持的指紋格式。

在 PuTTY 之外,如今首選的指紋格式是用 Base64 表示的 SHA256 雜湊。

如果我查看新創建實例的 EC2 系統日誌,果然我看到了 SSH 指紋,SHA256 以 Base64 表示:

EC2 系統登錄新實例

查看這個答案,Amazon Linux 過去(也許現在仍然如此?)以十六進製而不是 Base64 輸出雜湊。

如何驗證 EC2 系統日誌中顯示的 Base64 SHA256 指紋與 PuTTY 連接的內容匹配?我寧願避免安裝特定於 EC2 的工具。

順便說一句,在 PowerShell 中使用 OpenSSH 時,我可以毫無問題地確認指紋。(我會考慮使用這個而不是 PuTTY,但它似乎缺乏滑鼠支持。)

PowerShell 中的 ssh 命令

此外,我發現這個答案資訊豐富,但它沒有給我答案。

(螢幕截圖中顯示的所有細節都反映了一個短暫的實例。我已經銷毀了密鑰對。)

在記下密鑰類型(算法)和可選的指紋之後,接受(至少暫時)主機密鑰,但不要輸入任何敏感資訊,例如您的密碼或貓影片。做

ssh-keygen -l -f /etc/ssh/ssh_host_{type}_key.pub

這將顯示密鑰的“現代”(sha256/base64)指紋。檢查它是否與 AWS 控制台中的值匹配。您可以添加-v並檢查“ASCII 藝術”繪圖,據報導研究表明它更容易比較,儘管我個人沒有發現它。但後來我從來不擅長那些曾經出現在報紙上的“這幅畫有什麼問題”的謎題,那時曾經有報紙。

也可以選擇做

ssh-keygen -l -E md5 -f {same}

確認“古代”(md5/hex)指紋與 PuTTY 顯示的值匹配,儘管對此應該毫無疑問。

如果這被證明是錯誤的主機,請斷開連接並從HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys.

引用自:https://serverfault.com/questions/996828