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。
写段配置
sshconfigHost prod HostName prod.example.com User deploy IdentityFile ~/.ssh/id_ed25519_prod IdentitiesOnly yes ServerAliveInterval 60
bashPermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes