安全

SSH 密钥 vs 密码:哪个更安全?(2026)

SSH 密钥 vs 密码讲清楚:各自怎么工作、为什么密钥更安全、什么时候用密码也行、以及怎么切到密钥认证——手机上也能做。

CC Chen Chen· 创始人·2026 年 6 月 11 日·阅读 6 分钟

SSH 密钥 vs 密码:一句话结论

SSH 密钥比密码更安全,凡是超出"快速测一下"的场景都该用密钥。密码是你每次登录都要输的共享秘密——会被猜、被暴力破解、被钓鱼。SSH 密钥是一对加密密钥,私钥那一半永不离开你的设备,所以没有可猜的东西、也没有要传的东西。最强的配置是密钥加上彻底关闭密码登录。

两者到底怎么工作

密码认证:你和服务器都知道一个秘密。每次登录把它(在 SSH 会话里加密后)发给服务器核对。简单、无需设置——但安全完全押在这个秘密足够强、且永不泄露上。

密钥认证:你持有私钥;服务器持有配对的公钥。登录时服务器挑战你证明你持有私钥——而私钥本身从不经过网络。私钥留在你的设备上(最好在安全钥匙串里);公钥可以放心粘到任何地方。

为什么密钥在安全上胜出

  • 无法暴力破解。现代密钥(Ed25519)没法像 8 位密码那样被猜出来。
  • 没什么可钓、可嗅。私钥永不离开设备,所以没有密码会在传输中被偷、或被骗走。
  • 你能关掉密码。密钥可用后,在服务器上关闭密码认证(PasswordAuthentication no),整类密码攻击——包括那些一直锤 22 端口的机器人——就都不重要了。
  • 一把密钥,多台服务器。把一把公钥装到任意多台机器。

什么时候用密码也行

密码不是洪水猛兽——只是更弱。对一次性连个用完即弃的盒子、或一台从不暴露的仅局域网机器,密码够用。但凡你会反复用、放在公网上、或重要的东西,换密钥。

从手机设置密钥

你不需要电脑。好的移动客户端在设备上生成密钥对、把私钥留在安全钥匙串里,并帮你把公钥装到服务器。在 TermAI 里你生成一把 Ed25519 密钥,如果已经连上,它能替你把公钥部署到服务器——自动写进 ~/.ssh/authorized_keys——于是你几点几下就从密码切到密钥。

TermAI 里一个连接的 密码 / 密钥 认证切换
把连接从密码切到密钥。TermAI 生成 Ed25519 密钥对、把私钥留在设备上,并能替你把公钥部署到服务器。

记不住具体的加固步骤就问助手——"关闭这台服务器的密码登录"——运行前先复核命令。

密钥唯一真正的缺点

密钥的安全只取决于持有私钥的那台设备。保护它:用带安全钥匙串的设备(或给密钥加口令);设备丢了,就从服务器的 authorized_keys 里删掉它的公钥。换新手机?在新手机上生成新密钥、加它的公钥,而不是到处拷私钥。

常见问题

SSH 密钥比密码更安全吗?
是。私钥从不经过网络、也无法像密码那样被暴力破解,而且密钥设好后你能彻底关闭密码登录。

该关闭密码认证吗?
任何面向公网的服务器,该——在另一个会话里确认密钥登录可用之后。设 PasswordAuthentication no 并重启 SSH。

能从手机用 SSH 密钥吗?
能。TermAI 这类 App 在设备上生成密钥、安全保存私钥,并能把公钥部署到你的服务器。

该用什么密钥类型?
Ed25519——现代、短、推荐。只有当服务器老到不支持 Ed25519 时才用 RSA 4096。

快速事实

  • 更安全:SSH 密钥(私钥永不离开设备;无法暴力破解)
  • 最佳配置:密钥 + 服务器上 PasswordAuthentication no
  • 密码够用于:一次性连接和仅局域网的盒子
  • 密钥类型:Ed25519
  • 从手机:App 内生成 + 部署密钥(如 TermAI 一键部署)
Try TermAI

Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.

CC
Chen Chen — Founder of TermAI

Writes about mobile DevOps, terminal UX, and the surprising depth of "boring" infrastructure.

Was this useful? ← Back to blog