ssh用户密码正确但是登录时却报被拒绝

当使用SSH登录Linux服务器时遇到密码正确但报错“invalid user”的问题,可以通过检查安全日志、验证用户存在性、检查sshd_config配置文件来解决。在配置文件中添加被拒绝的用户到允许用户列表,即可成功登录。同时,文章还介绍了SSH的其他配置选项,如启用密码认证、root登录和密钥对登录等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:

有时候,在使用SSH登录到服务器时,明明密码正确,但是登录时候却报被拒绝,这是什么原因呢?

解决思路:

1、此时我们可以查看Linux服务器的安全日志文件/var/log/secure,若无异常可以看到如下类似报错异常

Oct  6 21:44:47 hostname sshd[265919]: input_userauth_request: invalid user admin [preauth]

Oct  6 21:44:47 hostname sshd[265919]: Failed password for invalid user admin from 10.168.100.250 port 63780 ssh2

Oct  6 21:44:56 hostname sshd[265919]: Failed password for invalid user admin from 10.168.100.250 port 63780 ssh2

Oct  6 21:44:58 hostname sshd[265919]: error: Received disconnect from 10.168.100.250 port 63780:0:  [preauth]

我们可以注意到SSH登录使用的admin被提示为invalid user【无效用户】
2、进一步验证登录使用的admin用户是否存在

#id admin
经过验证admin用户确实是存在的

3、检查/etc/ssh/sshd_config配置文件

经过检查发现sshd_config启用了仅允许某些用户使用ssh,但是admin用户却没有被囊括进去,其允许用户的字段信息如下

:~ # grep -i allowusers /etc/ssh/sshd_config
AllowUsers Root root test2
:~ #

4、将仅允许用户使用SSH后面追加admin用户

 # grep -i allowusers /etc/ssh/sshd_config
AllowUsers Root root test2 admin

尝试再次SSH登录,可以看到此时SSH可以成功连接使用

至此问题得到解决。

SSH其他拓展知识:

1、启用密码认证,取消如下行的注释符
#PasswordAuthentication yes

2、启用root登录功能,取消如下行的注释符

#PermitRootLogin yes

3、启用SSH密钥对登录,取消如下行的注释符

#PubkeyAuthentication yes

#AuthorizeKeysFile .ssh/authorized_keys

4、如何在Linux中允许用户使用SSH

#echo "AllowUsers user3" >> /etc/ssh/sshd_config

若有多个用户,用户之间使用空格分隔

5、如何在Linux中阻止用户使用SSH

#echo "DenyUsers user1" >> /etc/ssh/sshd_config

若有多个用户,用户之间使用空格分隔

6、如何在Linux中允许组使用SSH

#echo "AllowGroups 组名称" >> /etc/ssh/sshd_config

 若有多个组,组之间使用空格分隔

7、禁止组使用SSH

#echo "DenyGroups 组名称" >>/etc/ssh/sshd_config

 若有多个组,组之间使用空格分隔

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值