马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
用 Xshell 连 Linux,密码输完回车弹出一句「SSH服务器拒绝了密码,请再试一次」,很多人第一反应是键盘敲错、以为多敲了空格,重连几次还是一样。这句话的准确含义确实多半是认证被拒,但被拒的成因不止一种。本文把常见成因和两条处理路径(重建用户 / 改密码)按从轻到重排列清楚。
一、这句话到底在说什么
sshd 返回的是认证层面的拒绝,不会告诉你具体哪一项不对。它只表达一件事:服务端没接受你这次提交的用户名加密码组合。所以要做的不是反复重试,而是回到服务器上确认到底是哪一环不对。
二、四种常见成因
- 本来就没输对:大小写、末尾空格、输入法带全角符号,是最高频的原因。
- 创建用户时只建了用户名,没设密码:adduser 之后密码为空,第一次登录必然被拒。
- 账号串了:一台机器上常有不止一个账户,登录时手快输成了另一个账号的密码。
- 密码过期或被锁定:用 chage 看到密码已过期,或被 pam 连续失败锁定,表现和输错一模一样。
先做一次自检,把前三种便宜的可能排掉:
whoami
passwd --status 用户名
三、方法一:重开一个用户(最省事)
如果只是这台机器的普通账号,与其修老账号,不如直接重建一个:
adduser hello111
按提示输入密码并确认一次,注意 Linux 输入密码时屏幕上不会有任何字符显示,这是正常的,不是卡住了。创建完再用新账号试连一次。
四、方法二:给原账户改密码
要保留原账号的话,改密码即可:
passwd 用户名
同样输入两遍新密码。改 root 密码也是同一条命令:
passwd root
五、碰到「没有权限」的报错怎么办
普通用户想改 root 密码时,会看到一句权限相关的拒绝。加 sudo 即可:
sudo passwd root
sudo 的含义是借助超级用户的权限执行这条命令。如果加了 sudo 还是不行,说明当前这个账号不在 sudoers 名单里,也就是没有「许可」:
grep -rn "用户名" /etc/sudoers /etc/sudoers.d/
把用户加进名单的标准做法是用 visudo 编辑,别直接滴一个文件进去:
sudo visudo
在末尾加一行「用户名 ALL=(ALL) ALL」,保存退出后该用户就能用 sudo 了。
六、还连不上时按这个顺序查
- sshd 在不在跑:systemctl status sshd。
- 22 端口通不通:ss -lntp | grep :22,同时看防火墙和云安全组。
- 账号是不是被锁:passwd --status 看 L/NP 状态。
- 密码过期:chage -l 用户名。
- 看服务端日志
:journalctl -u sshd -f,直接连上后能实时看到失败原因。
把这条排查顺序记住,比在客户端反复重连有效得多。
qidao123.com企服评测-应用市场 编辑提示
|