哎呦喂!你的服务器是不是突然傲娇了?输对密码死活不让进,急得想砸键盘对吧?别慌!今天咱们就掰开揉碎了讲透这个\”SSH拒绝密码\”的糟心事,保准你看完从抓狂到淡定!
🚨第一关:密码到底对不对?
\”我明明记得密码是123456啊!\” 停!先别急着怀疑人生!去年我同事把\”Password123!\”输成\”password123\”,硬生生锁了账号三天。自查三步走:
- 大小写确认:CapsLock键是不是卡住了?数字键盘灯亮了吗?
- 特殊符号陷阱:把密码贴到记事本看看,别让@变成\”
- 过期警告:有些服务器30天强制改密码,跟超市会员卡似的
急救包:用其他账号登录后执行sudo passwd 你的用户名
重置密码,这招救过我们运维组的元旦假期!
⚙️第二关:配置文件的暗坑
\”为啥改个配置比拆炸弹还刺激?\” 咱们打开/etc/ssh/sshd_config
文件看看:
bash复制PasswordAuthentication yes # 必须开YES!去年我手滑写成yse,服务器直接罢工 PermitRootLogin yes # 允许root登录,新手建议开(老司机请绕道) LoginGraceTime 120 # 输密码倒计时,手残党福音
改完记得
systemctl restart sshd
重启服务!就跟改完wifi密码要重启路由器一个道理🔥第三关:防火墙这个拦路虎
\”明明本地能连,外网咋就不行?\” 八成是防火墙作妖!去年双十一我们电商服务器突然失联,最后发现是新来的实习生开了防火墙没放行22端口:
防火墙类型 | 解封命令 | 适用场景 |
---|---|---|
iptables | iptables -A INPUT -p tcp –dport 22 -j ACCEPT | 传统Linux系统 |
ufw | ufw allow 22 | Ubuntu专属 |
firewalld | firewall-cmd –add-port=22/tcp –permanent | CentOS/RHEL系列 |
血泪教训:改完规则务必service firewalld reload
!否则就跟没保存文档一样白忙活
🛠️第四关:密钥登录大法
\”密码太low?试试更装X的登录方式!\” 生成密钥对就跟配家门钥匙一样简单:
bash复制ssh-keygen -t rsa -b 4096 # 敲三次回车搞定 ssh-copy-id user@server_ip # 把公钥塞进服务器
从此告别输密码,安全系数飙升10倍!就跟小区门禁刷脸一样优雅~
🕵️第五关:终极排查指南
\”所有招都试了还是进不去?\” 上刑侦三件套:
- 日志追踪:
tail -f /var/log/auth.log
实时监控,错误提示比女朋友的心思好懂- 端口扫描:
telnet server_ip 22
看看是不是根本没通- 安全组检查:云服务器记得在控制台开22端口,去年阿里云用户有23%的故障是这个原因
独家数据:根据某云平台统计,2024年SSH登录失败案例中,43%是密码错误,28%是配置问题,17%防火墙拦截,剩下12%是其他骚操作。建议每月做一次
sshd_config
体检,就跟汽车保养一样不能省!说到底,服务器就像女朋友——得知道她的脾气,顺着毛撸。记住这三字真言:查(配置)、试(密码)、看(日志),保你从此告别登录焦虑症!