Ssh

我可以從遠端指紋中找到本地 ssh 私鑰嗎?

  • March 16, 2017

可能我遺漏了一些明顯的東西,但是在厭倦了 ssh-agent 的 5 個關鍵限制之後,我開始尋找更好的 ssh 密鑰管理方法。

如果我使用 ssh-keygen -t rsa 創建一個新的 ssh 密鑰對,然後我可以使用 ssh-keygen -lf 來獲取私鑰和公鑰的指紋,並且它們都報告相同的指紋。

然後我天真的期望是做類似 ssh-keyscan 的事情來獲取該主機上的遠端公鑰指紋並將該指紋與我的一個私鑰匹配並使用該私鑰啟動 ssh 連接。

顯然,我使用 ssh-keyscan 獲得的指紋甚至不像本地密鑰的指紋。

有什麼辦法可以解決這個困境嗎?

ssh-keyscan命令用於掃描主機密鑰 ( /etc/ssh/ssh_host_*.pub),而不是用於對使用者進行身份驗證/授權的密鑰。

您需要連接到遠端主機並檢查各種 authorized_keys 文件。複雜的一點是,authorized_keys 文件中可以包含許多密鑰,因此您需要進行一些操作來提取各個密鑰並列印它們。

關於 serverfault的另一個問題/答案有一些好的方法

我想我可以通過簡單地先驗地定義哪個密鑰對用於我的主機中的主機來避免您的困境~/.ssh/config

Host www
HostName www.example.com
IdentityFile ~/.ssh/key1
Host dev
HostName dev.example.org
IdentityFile ~/.ssh/key2

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