SSH 密钥登录与安全加固:告别密码登录

举报
yd_236639601 发表于 2026/10/25 10:58:07 2026/10/25
【摘要】 云服务器刚开通默认是 root 加密码登录,密码再复杂也架不住全网扫描器 24 小时不间断爆破。正确姿势是密钥登录加禁用密码加改端口加 fail2ban 四件套,半小时配完,此后 SSH 爆破基本与你无关。 一、生成密钥对本机执行一次即可,推荐 ed25519 算法,又短又快:ssh-keygen -t ed25519 -C "my-laptop"一路回车用默认路径 ~/.ssh/id_ed...

云服务器刚开通默认是 root 加密码登录,密码再复杂也架不住全网扫描器 24 小时不间断爆破。正确姿势是密钥登录加禁用密码加改端口加 fail2ban 四件套,半小时配完,此后 SSH 爆破基本与你无关。

一、生成密钥对

本机执行一次即可,推荐 ed25519 算法,又短又快:

ssh-keygen -t ed25519 -C "my-laptop"

一路回车用默认路径 ~/.ssh/id_ed25519,passphrase 建议设一个——私钥万一泄露还有最后一道口令。生成后得到两个文件:id_ed25519 是私钥,绝对不要发给任何人;id_ed25519.pub 是公钥,可以随便贴。

二、把公钥传上服务器

最省事的是 ssh-copy-id,它会自动追加到服务器的 ~/.ssh/authorized_keys:

ssh-copy-id -i ~/.ssh/id_ed25519.pub root@203.0.113.10

没有 ssh-copy-id 的环境就手动追加:

cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

权限错了 SSH 会直接拒绝密钥,一定检查:目录 700、authorized_keys 600、家目录不能组可写。

三、先验证密钥能登,再动服务端配置

新开一个终端,用密钥登录一次:

ssh -i ~/.ssh/id_ed25519 root@203.0.113.10

能进来再改配置,千万别先禁密码再测试——一旦密钥有问题,自己就被锁在门外。确认无误后编辑 /etc/ssh/sshd_config:

PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin prohibit-password

prohibit-password 的意思是 root 只能用密钥登录,密码登录一律拒绝。改完重启 sshd:systemctl restart sshd。重启后当前会话不会断,但新连接必须走密钥。

四、改端口:把 22 藏起来

22 端口是扫描器的头号目标,改成高位端口能挡掉九成以上的无脑扫描:

Port 2222

同步放行防火墙(UFW 示例):ufw allow 2222/tcp,再删掉旧规则 ufw delete allow 22/tcp。注意顺序:先放行新端口、验证能连,再关旧端口。云平台安全组同样要放行新端口,顺序不能反。

五、fail2ban 兜底

改了端口也不是万无一失,fail2ban 负责把仍在尝试爆破的 IP 拉黑:

sudo apt install fail2ban
sudo systemctl enable --now fail2ban

默认规则 5 次失败登录就封 10 分钟,够用。看谁被封过:sudo fail2ban-client status sshd。

六、多设备与密钥丢失

换电脑或重装系统后,旧私钥没了等于丢了钥匙:提前把公钥也加到备用设备,或在服务器上保留第二把密钥——authorized_keys 里一行就是一把钥匙,多加一行就有备用。私钥丢失且没有备用钥匙时,只能走云平台的 VNC 控制台或重置密码流程进系统,提前演练一次比出事再查文档强得多。

小结

SSH 加固就四步:生成 ed25519 密钥对、公钥上服务器、禁密码只认密钥、改端口加 fail2ban。配完后用 ssh -v 看一次握手日志,确认走的是 publickey 而不是 password。服务器的安全没有一劳永逸,但把密码登录这扇最大的门关上,剩下的攻击面就只剩你主动开的服务端口了。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。