云服务器 SSH 安全入门:密钥登录与几项基础加固
新买的云服务器一旦开放 22 端口,日志里很快就会出现大量来自陌生 IP 的登录尝试。如果还在用简单密码登录,被暴力破解只是时间问题。其实只要做几项基础设置,就能大幅降低风险。本文介绍 SSH 密钥登录的配置方法,以及几个简单实用的加固项。
一、生成并上传密钥
在本地电脑执行:
ssh-keygen -t ed25519 -C "my-laptop"
按提示设置一个密钥口令,会在 ~/.ssh 下生成私钥 id_ed25519 和公钥 id_ed25519.pub。私钥只留在本机,不要上传到任何地方。然后把公钥写入服务器:
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@服务器IP
完成后用 ssh user@服务器IP 测试,能免密码直接登录就说明配置成功。
二、关闭密码登录
确认密钥登录可用之后,编辑 /etc/ssh/sshd_config,修改以下几项:
PasswordAuthentication no
PermitRootLogin prohibit-password
PubkeyAuthentication yes
保存后执行 sudo systemctl restart sshd。注意:修改前务必保留一个已登录的终端窗口,新开窗口测试能正常登录后再关闭旧窗口,避免配置写错把自己锁在门外。
三、收紧访问来源
在云平台的安全组里,把 22 端口的入方向规则从 0.0.0.0/0 改成只允许自己常用的公网 IP 段。这一步不需要改服务器任何配置,却能挡掉绝大多数扫描流量。如果需要从多个地点登录,可以考虑通过堡垒机或 VPN 统一入口。
四、自动封禁可疑 IP
安装 fail2ban 后启用 sshd 规则,同一 IP 在短时间内多次认证失败就会被临时封禁。配合 journalctl -u sshd 或 /var/log/auth.log 定期查看登录记录,可以及时发现异常。
小结
密钥登录、禁用密码、安全组限制来源、自动封禁,这四步加起来不到半小时,却能让服务器的 SSH 入口安全很多。建议在每台新服务器初始化时就把它们作为固定步骤,而不是等出问题之后再补救。
- 点赞
- 收藏
- 关注作者
评论(0)