SSH密码登录和SSH密钥登录哪个更安全?-05互联
>

新闻中心 / SSH密码登录和SSH密钥登录哪个更安全?

SSH密码登录和SSH密钥登录哪个更安全?

发布时间:2026/10/7 19:25:17

下面用一个真实服务器场景举例,说明 SSH密码登录和SSH密钥登录的区别。

假设你购买了一台美国VPS服务器:

服务器IP:8.8.8.8
系统:Ubuntu 24.04
SSH端口:22
登录用户:root

例子一:SSH密码登录

登录方式

你在电脑打开终端:

ssh root@8.8.8.8

服务器提示:

root@8.8.8.8's password:

你输入:

MyServer@2026#

验证成功:

root@server:~#

进入服务器。


如果遇到攻击

攻击者扫描你的服务器:

发现:
IP:8.8.8.8
端口:22
用户:root

然后开始尝试:

root / 123456
root / admin
root / password
root / qwerty

每天可能尝试几千次甚至几十万次。

如果你的密码:

123456

几秒钟可能被破解。

如果密码:

MyServer@2026#

破解难度增加,但仍然存在风险。


例子二:SSH密钥登录

你先在自己的电脑生成密钥:

ssh-keygen -t ed25519

生成:

电脑:

id_ed25519        (私钥)
id_ed25519.pub    (公钥)

上传公钥到服务器

服务器保存:

/root/.ssh/authorized_keys

里面内容类似:

ssh-ed25519 AAAAC3Nz... user@pc

登录服务器

你输入:

ssh root@8.8.8.8

过程:

电脑
 |
 | 提供私钥证明
 |
服务器检查公钥
 |
匹配成功
 |
直接登录

结果:

root@server:~#

不需要输入密码。


如果攻击者扫描你的服务器

攻击者发现:

IP:8.8.8.8
端口:22
用户:root

尝试:

root + 密码字典

但是:

服务器没有开启密码登录:

PasswordAuthentication no

攻击直接失败。

因为服务器只接受:

正确私钥

简单比喻

SSH密码登录:

像:

小区大门密码锁

密码:

123456

别人可以不断尝试。


SSH密钥登录:

像:

银行U盾+身份验证

必须拥有:

唯一私钥文件

没有钥匙无法进入。


实际服务器推荐配置

例如你的服务器:

美国VPS
IP:8.8.8.8
网站:www.example.com

最佳方案:

第一步:

创建普通用户:

adduser admin

第二步:

配置SSH密钥:

ssh-copy-id admin@8.8.8.8

第三步:

关闭密码:

编辑:

nano /etc/ssh/sshd_config

修改:

PasswordAuthentication no
PermitRootLogin no

第四步:

重启SSH:

systemctl restart ssh

以后:

ssh admin@8.8.8.8

直接安全登录。


安全等级对比

SSH密码登录
⭐⭐⭐☆☆

SSH密钥登录
⭐⭐⭐⭐⭐

SSH密钥 + 防火墙 + Fail2Ban
⭐⭐⭐⭐⭐⭐

所以如果是运行网站、商城、数据库等长期服务器,建议直接使用 SSH密钥登录。