通过 SSH 登录远程服务器时,使用密钥比使用常规密码有什么好处吗?(除了不必记住/输入密码)
答案1
通过 SSH 登录远程服务器时,使用密钥比使用常规密码有什么好处吗?(除了不必记住/输入密码)
两个简单的好处是:
- 密钥更难猜测。密钥是随机生成的,因此攻击者必须能够访问密钥材料。当您的密码为“
secret
”时,情况并非如此。 - 授予密钥持有者的访问权限可在 authorized_keys 文件中配置
man sshd
但请注意,将密钥放在磁盘上不受保护不如在大脑中设置安全密码安全。别人可以在你不知情的情况下访问磁盘。我怀疑你的大脑是否也一样。一个好方法是将两者结合起来:用安全密码保护你的私钥。
答案2
如果你把密码在该非对称密钥上,您可以继续使用相同的密码,远远超出系统管理员为密码轮换配置的时间,并利用双因素安全的优势。丢失了带有密钥的笔记本电脑?您不会有这么大的麻烦!
答案3
是的。如果密钥对被泄露——例如,如果你丢失了装有私钥的笔记本电脑——你可以在服务器上禁用该密钥,并再次确保安全。
如果您将密码存储在该笔记本电脑上,则需要更改密码才能重新获得安全系统。现在您还必须更改所有客户端计算机上存储的密码。还有很多工作要做 :)
答案4
不,实际上没有什么优势。
非对称加密是解决密钥交换问题的有效方法。但是,要实现非对称加密,需要第三方“授权机构”和 PKI。这些通常不是 SSH 部署的一部分,因此它实际上没什么用。
一个例外是,如果你将私钥存储在智能卡上,并且你的 SSH 客户端支持智能卡。在这样的设置中,密钥的安全性比密码有巨大的优势。