什么时候这条脚本应该作为第一步
这条脚本适合那种“SSH 其实能连上,但在出密码提示前,或者进 shell 前明显卡顿”的主机。
这种现象通常不是账号本身的问题,而是 sshd 在等待反向 DNS 解析、GSSAPI 协商,或者陷入了一个能超时但不好用的 IPv6 路径。
脚本改了什么,以及为什么有效
脚本会把三项高频优化写进 sshd_config:UseDNS no、GSSAPIAuthentication no 和 AddressFamily inet。
第一项用来去掉反向解析等待,第二项用来关闭没在用的 Kerberos/GSSAPI 协商,第三项则是避免老机器在问题 IPv6 路径上浪费时间。
- 先备份 /etc/ssh/sshd_config
- 以幂等方式写入配置,避免重复堆叠
- 重启前先执行 sshd -t
- 只有校验通过才重启 sshd
在生产类主机上的推荐执行方式
更稳的做法是保留一个现有 SSH 会话,再从第二个会话执行脚本,只有在确认新连接已经恢复正常后,才关闭原来的登录。
如果这台机器依赖 Kerberos,或者明确依赖 IPv6-only 连通,就不要盲目套这组默认值。这条脚本的目标是先去掉高频卡点,不是替代正式的 SSH 策略评审。