SSH执行reboot命令无效、SSH连接卡顿且DNS失效,Ubuntu 20.04服务器无法正常重启求助
SSH执行reboot命令无效、SSH连接卡顿且DNS失效,Ubuntu 20.04服务器无法正常重启求助
看起来你遇到了挺闹心的服务器问题——修改DNS后重启命令完全没反应、SSH连接动辄卡5分钟,连DNS解析都失效了,先别慌,咱们一步步来解决:
一、先尝试安全强制重启(比硬关机更稳妥)
如果普通的reboot或sudo reboot完全卡住,试试以下两种更直接的方法,它们不会像硬关机那样容易损坏文件系统:
- 执行
systemctl reboot --force:这个命令会强制触发系统重启流程,绕过可能卡住的服务依赖或超时等待 - 如果上面的命令还是没反应,试试内核级的SysRq触发重启:执行
echo b > /proc/sysrq-trigger,这是安全性很高的重启指令,除非服务器正在写入超大文件,否则不会有数据风险
二、修复DNS问题(这可能是重启卡住、SSH卡顿的根源)
DNS失效不仅会导致域名解析失败,还可能让系统重启时等待网络服务就绪超时,甚至SSH尝试反向解析客户端IP时卡顿:
- 临时恢复DNS解析:
编辑/etc/resolv.conf,添加两行DNS服务器配置:
如果是nameserver 8.8.8.8 nameserver 8.8.4.4systemd-resolved管理DNS,为了防止文件被自动覆盖,执行chattr +i /etc/resolv.conf锁定文件 - 永久配置DNS:
编辑/etc/systemd/resolved.conf,找到DNS行修改为:
然后重启服务生效:DNS=8.8.8.8 8.8.4.4systemctl restart systemd-resolved
三、排查问题根源(避免再次踩坑)
等服务器成功重启后,建议做以下排查:
- 查看上次重启失败的日志:
journalctl -b -1 -u systemd-shutdown.service,这里会记录系统尝试关机/重启时卡住的环节 - 解决SSH卡顿问题:编辑
/etc/ssh/sshd_config,将UseDNS yes修改为UseDNS no,然后重启SSH服务systemctl restart sshd,这样SSH就不会因为反向解析客户端IP的DNS超时而卡顿了 - 验证DNS配置:重启后用
dig google.com或nslookup google.com确认DNS解析正常,以后修改DNS后先做这个验证再执行重启操作
备注:内容来源于stack exchange,提问作者Korgen 0
相关产品推荐
相关产品推荐

