说到SSH配置优化,作为经常和服务器打交道的运维人员,我不得不承认这是一个既基础又容易忽视的话题。每次遇到SSH连接问题时的抓耳挠腮,都让我意识到——原来默认配置真的不够用啊!就像那天凌晨三点紧急处理服务器故障时,SSH频繁断开简直让人崩溃。经历这次”惨案”后,我彻底研究了下如何优化SSH配置,现在把经验分享给大家。
SSH密钥认证的正确姿势
很多朋友可能还在使用密码登录,这既不安全又容易出错。我强烈建议改用密钥认证(真香预警!)。生成密钥时有个小技巧:ssh-keygen -t ed25519
比传统的RSA更安全高效。记得把公钥放到服务器上的~/.ssh/authorized_keys
里,不过这里要注意权限设置——我就是因为chmod没设对(应该是600),折腾了半天才搞定。
那些藏在sshd_config里的宝藏参数
打开/etc/ssh/sshd_config
,这里有好多可以调优的地方!比如把LoginGraceTime
从默认的2分钟改短些,能防止暴力破解;调整MaxAuthTries
限制尝试次数。不过有个参数MaxSessions
要特别小心,我曾因为设太小导致多个终端无法同时连接…说到端口修改,虽然改默认22端口能防些简单扫描,但别天真地以为这样就万无一失了。
安全加固不能少
安全方面,我习惯禁用root登录(PermitRootLogin no
),再配上fail2ban来防爆破。有个血的教训:有次忘了开防火墙,服务器被扫了一整天…现在我都用ufw
简单配个规则,只放行必要IP。另外,定期更新OpenSSH版本也很重要——去年那个CVE-2021-41617漏洞就挺吓人的。
说真的,SSH配置这件事需要因地制宜。我现在的做法是:先在测试环境调优,用ssh -v
看详细日志找问题,然后才应用到生产环境。如果大家遇到特别奇葩的SSH问题,不妨试试/var/log/auth.log
,那里往往藏着真相。对了,改配置前一定要备份!别问我怎么知道的…
评论