2013-10-21 227 views
0

我已經在我的新機器上從頭安裝了新的Ubuntu,並且想要使用ssh訪問遠程主機。問題是,即使我擁有公鑰和私鑰,我也忘記了在創建密鑰時使用的密碼,因爲在此之後我已將它傳遞給ssh-agent。但我仍然在我的筆記本電腦中存儲(passphrase)。如果我有root訪問權限和兩個密鑰,如何從ssh-agent恢復密碼?恢復密碼rsa/dsa密鑰

+0

ssh-agent無法在重新啓動後存活。你從不關機你的筆記本電腦或者mayby您正在談論密碼管理器,如gnome-keyring或KWallet? – damienfrancois

+0

如果ssh-agent僅爲會話存儲密碼,那麼它必須在其他地方,因爲我可以在重新引導後輕鬆地將ssh傳輸到服務器不帶密碼的地方。 – boldnik

+0

已經使用腳本從密鑰環中提取密碼,但我根本不使用它,並且響應是「從」會話「密鑰環中提取密鑰: 密鑰環」會話「是空的。 – boldnik

回答

1

據我所知,密碼被用來加密私鑰。 ssh-agent不記得密碼 - 它會記住解密的私鑰。

而且,作爲一個damienfrancois提到,它不應該記住它通過重新啓動。

如果您希望從ssh-agent本身提取解密的私鑰,則必須找到一個工具,用於搜索正在運行的進程的內存並找到密鑰。一個這樣的工具可以找到here,但你可能會發現它使用非常具有挑戰性。

對於一個更實際的答案,你可以從~/.ssh/id*中刪除你的密鑰,製作你知道密碼的新密碼,然後繼續 - 對於一臺新機器,你可能沒有太依賴它們。

+0

我怎麼可能不從我的筆記本電腦輸入密碼短語,但我需要使用來自其他任何位置的相同密鑰來執行此操作? – boldnik

+0

當您輸入密碼時,它解碼密鑰。我假設你的筆記本電腦上有東西(ssh-agent,gnome-keyright,idk)緩存瞭解密值。 – Murph

+0

你可能是對的,但我無法得到它爲什麼我可以輕鬆使用關鍵的無線密碼,而只是失敗了。 – boldnik