【Linux 报错】SSH服务器拒绝了暗码。请再试一次。(xshell)

[复制链接]
发表于 2026-10-6 12:50:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

用 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企服评测-应用市场 编辑提示

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表