顯示 ssh 私鑰的安全問題

顯示 ssh 私鑰的安全問題

我犯了一個巨大的錯誤,或者至少我認為我犯了:我「抓住」了我的 SSH 私鑰

cat ~/.ssh/id_rsa

我現在擔心我已經創建了一個安全漏洞,讓其他使用者可以透過查看 bash/scrollback 歷史記錄或使用其他方法來查看我的私鑰。所以,我的問題是:

  1. 我真的損害了 SSH 金鑰對的安全嗎?
  2. 是否有「足夠安全」的修補方法,排除建立新金鑰對的明顯(也是最安全)的方法?

(注意:我是這台機器的唯一用戶,所以我實際上並不關心我的具體情況,但我認為這將是一個有趣的問題。)

答案1

如果您私下這樣做,那就沒有問題。想想看 - 您在螢幕上顯示的資料與硬碟上已儲存的資料完全相同。如果有人可以存取您的回滾或歷史記錄,他們也可以id_rsa直接讀取文件。

  • 此外,你的 shell 的歷史記錄——即使其他用戶可以讀取(實際上不是)——只包含命令,而不包含它們的輸出。所以它所包含的只是一條線cat ~/.ssh/id_rsa

  • 對於大多數終端來說,回滾歷史記錄完全儲存在記憶體中。 (基於 libvte 的終端有時會在 /tmp 中使用後備文件,但這要么是臨時檔案系統或與您的 ~/.ssh 位於同一磁碟中,無論如何...)因此,一旦您關閉終端,它就變得無關緊要。當然,無論哪種方式,只有您才能訪問。

  • 通常,私鑰本身是用密碼加密的,除非您在ssh要求時解密,否則無法使用。

當然,除非您在高解析度安全攝影機的情況下執行此操作,甚至完全允許某人拍攝您的終端視窗的照片。在這種情況下,有人可以從照片中重新輸入金鑰,而唯一保護它的就是加密密碼。

相關內容