我正在考虑使用密钥文件远程 SSH 访问我的服务器,而不是在登录时手动输入帐户密码。在 Internet 上,我找到了一些关于如何为我正在使用的 Putty 执行此操作的教程。他们都建议使用密码保护私钥文件。这是完全有道理的,因为我不希望任何可能获得该私钥文件访问权限的人在没有密码的情况下访问我的服务器。
然而,然后我问自己:如果我每次使用它连接到我的服务器时都需要输入密钥的密码,那我为什么还要费心使用密钥文件呢?我可以直接继续输入用户密码。
不幸的是,我在网上找不到这个问题的好答案。
所以想在这里请教一下。使用受密码保护的密钥文件进行 SSH 身份验证而不是直接输入用户密码的原因是什么?
快速的回答是,使用密钥验证,您永远不会通过网络发送密码(它在本地输入以验证密钥),因此网络上的任何人都没有机会拦截任何密码尝试。它更安全。
关于必须不断键入它的观点,有一些代理(最值得注意的是 PuTTY 的 pagent)会将密钥缓存在内存中,因此您只需键入一次密码。很方便。
如果有人以某种方式窃取了您的密钥,您就会受到威胁。
Putty 包含一些名为 Paget 的东西(如果您使用了安装程序),您可以在其中加载密钥文件并且只需输入一次密码。密钥增加了另一层安全性,因为简单地暴力破解密码不会有任何好处,因为他们也需要密钥。