VPS的SSH怎么配更安全?密钥认证失败和端口冲突排查

密钥权限错误、reload vs restart、新端口防火墙和SELinux阻断五大翻车点排查
发布于
5

按网上的教程配了SSH密钥、禁了密码登录,结果退出后连不上了——这种翻车事故每年都在重复上演。本文把SSH配置中的常见翻车点和恢复方法系统讲一遍。

翻车一:改了配置文件重启SSH后连不上

最经典的翻车:改了/etc/ssh/sshd_config、systemctl restart sshd、关掉当前SSH窗口——然后就再也连不上了。问题出在你退出之前没有验证新配置。

正确的操作顺序:改了配置后→先systemctl reload sshd(别restart,reload不断开现有连接)→新开一个终端窗口尝试用新配置登录→确认新窗口能连上→再关旧窗口。如果新窗口连不上,旧窗口还在,可以改回去。

reload和restart的区别:reload平滑重载配置不影响已建立的SSH连接,restart断掉所有连接。你当前正在用的就是这个连接——restart之后你就被踢出去了。

翻车二:密钥权限不对

SSH对密钥文件权限极其敏感——权限设错了直接拒绝使用。正确的权限:

# 服务端
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

# 客户端
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519  # 私钥必须是600

错误表现:SSH连接时提示”Permission denied (publickey)”但密钥明明放对了——大概率是authorized_keys或.ssh目录的权限不对。

翻车三:密钥格式不兼容

用ssh-keygen -t ed25519生成的新格式密钥在旧版SSH服务器上可能不识别。改成传统PEM格式:

ssh-keygen -p -m PEM -f ~/.ssh/id_ed25519

服务端日志/var/log/auth.log里能看到具体的拒绝原因——tail -f /var/log/auth.log然后客户端尝试连接,实时看到日志输出。

翻车四:改端口后忘了开防火墙

改了SSH端口从22到别的端口,但UFW/iptables/云服务商安全组没放新端口。连不上时先确认:服务器上UFW有没有allow新端口、云服务商后台安全组有没有放行新端口的入站规则。

雨云VPS的防火墙在控制面板里设置,优惠码 admin01 首月五折。

翻车五:SELinux阻断SSH

CentOS/RHEL系统的SELinux可能阻止SSH使用非标准端口。改端口后需要更新SELinux策略:

semanage port -a -t ssh_port_t -p tcp 新端口号
# 如果semanage没装:yum install policycoreutils-python-utils

被锁外面了的恢复方法

如果已经被锁外面了:VPS控制台VNC登录(大部分服务商都支持,不依赖SSH)→登录后修改配置→systemctl reload sshd→如果连VNC都进不去(系统启动卡住)→用救援模式挂载系统盘改配置→或者如果有快照就回滚。

预防翻车的最好方案:改SSH配置的同时保持一个已连接的窗口打开不关,直到确认新配置能正常工作。

常见问题

密钥登录配好了为什么还是提示输入密码?

PasswordAuthentication还没设为no——SSH会先尝试密钥、失败后回退到密码登录。这不是密钥配置失败,是密码认证还开着做兜底。确认密钥登录正常后再关密码认证。

可以用同一个密钥登录多台VPS吗?

可以而且常见做法——一个私钥对应对个服务器的authorized_keys里放同一个公钥。但如果私钥泄露,所有用这个密钥的服务器都面临风险。生产环境建议不同服务器用不同密钥。

authorized_keys文件里可以放多个公钥吗?

可以——一行一个公钥。多个管理员各用自己的密钥登录同一个账号,或者一台VPS允许从多台客户端登录。

本文由作者原创/授权发布于极跃圈(jiyueip.com)未经许可,禁止转载。题图来自Unsplash,基于CC0协议。

声明:极跃圈(JIYUEIP.com)内网友所发表的所有内容及言论仅代表其本人,并不反映任何极跃圈(JIYUEIP.com)之意见及观点。

0 讨论
热门最新
总结
暂无总结
0 / 600

新开的VPS默认用root+密码登录、22端口全网开放,等于把门钥匙挂在门口。搞定这五个安全设置最多花半小时,把脚本小子和自动扫描器挡在外面。每一步都有命令,照做就行。 第一步:创建普通用户、禁用root直接登录 root是每台Linux都

VPS突然抽风——SSH连不上、控制台显示”Unknown”、机房通知物理机故障。慌的时候容易把本来就复杂的事情搞得更乱。本文是一份冷静状态下写好的恢复清单——按步骤走,二十分钟内把服务迁到新机器上。 第一步:确认挂到什么程度 先别急着重建

VPS突然连不上,SSH断掉、网站打不开、面板也进不去——如果你正在经历这个,大概率是被DDoS了。这时候慌没用,按下面的步骤走,先止血再恢复。 怎么判断是不是DDoS攻击 不是所有的连不上都是DDoS。先排除几个常见情况:服务器欠费被停了

VPS用着用着突然变卡,网站打开要好几秒、SSH敲命令有明显延迟——这种情况比完全断连更难排查。不是挂了,是慢了。本文用四个命令分别定位CPU、内存、磁盘IO和网络的瓶颈,告诉你性能卡在哪个环节。 排查前的第一步:确认不是自己的网络问题 很