5月30日 20:53

SSH 配置文件哪些选项最影响安全和连接稳定性?

SSH 配置文件要分清两类:~/.ssh/config 管客户端怎么连,/etc/ssh/sshd_config 管服务器允许谁连。客户端重点是减少手输参数、隔离不同环境密钥;服务端重点是关掉高风险入口,如 root 登录、密码登录、无用转发。不要整段复制加固清单,应该按访问路径逐项验证。

追问

ssh_config 和 sshd_config 最大区别是什么?

前者是客户端读的,影响你发起连接时带哪些参数;后者是服务端读的,决定连接是否被允许以及认证策略。

为什么不建议关闭 StrictHostKeyChecking?

它会让客户端不再认真校验主机指纹,中间人攻击时更难发现。自动化脚本应预先分发 known_hosts。

改端口能提升安全吗?

只能减少低级扫描噪声,不是真正安全。核心仍是禁用密码、限制用户、控制来源 IP 和保留审计日志。

修改服务端配置怎样避免锁外面?

保留当前 SSH 会话,另开新终端测试登录。修改前跑 sudo sshd -t,通过后再 reload。

写段配置

sshconfig
Host prod HostName prod.example.com User deploy IdentityFile ~/.ssh/id_ed25519_prod IdentitiesOnly yes ServerAliveInterval 60
bash
PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes
标签:SSH