显示SSH私钥的安全问题


14

我犯了一个很大的错误,或者至少我想我做了:我已经“抓住”了我的私人SSH密钥

cat ~/.ssh/id_rsa

现在,我担心自己已​​经创建了一个安全漏洞,允许其他用户通过查看bash / scrollback历史记录或使用其他方法来查看我的私钥。所以,我的问题是:

  1. 我真的危及SSH密钥对的安全性吗?
  2. 是否有“足够安全”的修补方式,而没有明显(最安全)的创建新密钥对的方式?

(注意:我是机器的唯一用户,因此我实际上并不关心我的具体情况,但我认为这将是一个有趣的问题。)

Answers:


20

如果您私下进行此操作,那没有问题。考虑一下–您仅在屏幕上显示了与硬盘中已经存储的完全相同的数据。如果任何人都可以访问您的回滚或历史记录,他们也可以id_rsa直接读取该文件。

  • 此外,shell的历史记录(即使其他用户可以读取(不是))也仅包含命令,而不包含其输出。因此,它所包含的只是一行cat ~/.ssh/id_rsa

  • 对于大多数终端,回滚历史记录完全存储在内存中。(基于libvte的终端有时会在/ tmp中使用备份文件,但是无论是tmpfs还是与〜/ .ssh都位于同一磁盘中...)因此一旦关闭终端,它就变得无关紧要了。当然,无论哪种方式,您都只能使用它。

  • 在很多情况下,私钥本身会用密码短语加密,除非您在需要时ssh将其解密,否则它是不可用的。

当然,除非您在高分辨率安全摄像头的情况下进行此操作,否则,甚至完全不允许某人为您的终端窗口拍照。在这种情况下,有人可以从照片中重新键入密钥,唯一保护它的就是加密密码。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.