SSH 密钥 vs 密码:一句话结论
SSH 密钥比密码更安全,凡是超出"快速测一下"的场景都该用密钥。密码是你每次登录都要输的共享秘密——会被猜、被暴力破解、被钓鱼。SSH 密钥是一对加密密钥,私钥那一半永不离开你的设备,所以没有可猜的东西、也没有要传的东西。最强的配置是密钥加上彻底关闭密码登录。
两者到底怎么工作
密码认证:你和服务器都知道一个秘密。每次登录把它(在 SSH 会话里加密后)发给服务器核对。简单、无需设置——但安全完全押在这个秘密足够强、且永不泄露上。
密钥认证:你持有私钥;服务器持有配对的公钥。登录时服务器挑战你证明你持有私钥——而私钥本身从不经过网络。私钥留在你的设备上(最好在安全钥匙串里);公钥可以放心粘到任何地方。
为什么密钥在安全上胜出
- 无法暴力破解。现代密钥(Ed25519)没法像 8 位密码那样被猜出来。
- 没什么可钓、可嗅。私钥永不离开设备,所以没有密码会在传输中被偷、或被骗走。
- 你能关掉密码。密钥可用后,在服务器上关闭密码认证(
PasswordAuthentication no),整类密码攻击——包括那些一直锤 22 端口的机器人——就都不重要了。 - 一把密钥,多台服务器。把一把公钥装到任意多台机器。
什么时候用密码也行
密码不是洪水猛兽——只是更弱。对一次性连个用完即弃的盒子、或一台从不暴露的仅局域网机器,密码够用。但凡你会反复用、放在公网上、或重要的东西,换密钥。
从手机设置密钥
你不需要电脑。好的移动客户端在设备上生成密钥对、把私钥留在安全钥匙串里,并帮你把公钥装到服务器。在 TermAI 里你生成一把 Ed25519 密钥,如果已经连上,它能替你把公钥部署到服务器——自动写进 ~/.ssh/authorized_keys——于是你几点几下就从密码切到密钥。
记不住具体的加固步骤就问助手——"关闭这台服务器的密码登录"——运行前先复核命令。
密钥唯一真正的缺点
密钥的安全只取决于持有私钥的那台设备。保护它:用带安全钥匙串的设备(或给密钥加口令);设备丢了,就从服务器的 authorized_keys 里删掉它的公钥。换新手机?在新手机上生成新密钥、加它的公钥,而不是到处拷私钥。
常见问题
SSH 密钥比密码更安全吗?
是。私钥从不经过网络、也无法像密码那样被暴力破解,而且密钥设好后你能彻底关闭密码登录。
该关闭密码认证吗?
任何面向公网的服务器,该——在另一个会话里确认密钥登录可用之后。设 PasswordAuthentication no 并重启 SSH。
能从手机用 SSH 密钥吗?
能。TermAI 这类 App 在设备上生成密钥、安全保存私钥,并能把公钥部署到你的服务器。
该用什么密钥类型?
Ed25519——现代、短、推荐。只有当服务器老到不支持 Ed25519 时才用 RSA 4096。
快速事实
- 更安全:SSH 密钥(私钥永不离开设备;无法暴力破解)
- 最佳配置:密钥 + 服务器上
PasswordAuthentication no - 密码够用于:一次性连接和仅局域网的盒子
- 密钥类型:Ed25519
- 从手机:App 内生成 + 部署密钥(如 TermAI 一键部署)
Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.