我读过很多地方,例如这个问题使用不带密码的 ssh 密钥对可以让攻击者在获得对您帐户的访问权限时窃取您的私钥。我认为“窃取”意味着他们可以相当容易地进行暴力攻击来尝试所有可能的私钥,直到找到与您帐户中存储的公钥相匹配的私钥。但上述问题的公认答案假设私钥本质上以纯文本形式存储在某处。这与我一直理解的情况相反:因为(通常)您不会将您的私钥存储在服务器上 - 只存储您的公钥 - 不使用密码带来的主要安全风险是有人可以从您的本地计算机窃取私钥,然后使用它而无需知道密码。
哪种观点是正确的?私钥是否可以轻松地从您只放置公钥的服务器中获取?
答案1
这个问题担心存储在服务器上的私钥未加密。这是一个这样的场景:
workstation 1 ---> gateway -> final server
⋮ |
workstation n ------/
OP 担心“网关”上的私钥,“网关”是多个用户共享的计算机。
不可能通过破坏服务器来窃取私钥,只能破坏实际存储密钥的机器。如果您使用 ssh 代理转发,那么如果您首先没有 ssh-agent 提示,则可以使用密钥而不会窃取它(例如,登录到另一台计算机)。
但您仍然应该加密您的私钥,以防您的工作站受到威胁。或者,尤其是笔记本电脑丢失或被盗。