SSH 安全加固教程:改端口与密钥登录
本教程说明如何用 xyz.sh/ssh 一步步加固 VPS 的 SSH,而不会把自己锁在外面。
$ curl -fsSL xyz.sh/ssh | bash
说明 · xyz.sh/ssh · 最后更新:
适用条件
root 权限,以及一个保持连接的 SSH 会话。
如果要禁用密码登录,先准备好公钥(例如 GitHub 账号上的公钥)。
知道去哪里修改云服务商的安全组,以及如何打开 VNC/控制台。
步骤
可选:先阅读源码 curl -fsSL xyz.sh/ssh.sh,并核对 xyz.sh/ssh.sh.sha256。
查看当前设置:curl -fsSL xyz.sh/ssh | bash -s -- --status
新增端口(旧端口保留):curl -fsSL xyz.sh/ssh | bash -s -- --port 2222 -y,然后在安全组放行 2222,从新终端测试 ssh -p 2222。
导入公钥并禁用密码:curl -fsSL xyz.sh/ssh | bash -s -- --github 你的用户名 --disable-password -y
确认新端口可用后关闭旧端口:curl -fsSL xyz.sh/ssh | bash -s -- --port 2222 --close-old -y
如何验证
不要关闭当前终端,另开一个新终端执行 ssh -p 新端口 用户@服务器 确认能登录。也可以运行 curl -fsSL xyz.sh/ssh | bash -s -- --status 查看 sshd -T 的实际生效值。
如何撤销或卸载
curl -fsSL xyz.sh/ssh | bash -s -- --rollback -y 会删除 xyz.sh 写入的配置块、恢复被注释的 Port 行并 reload sshd;添加到 authorized_keys 的公钥会保留,需要时手动删除。