SSH登录Linux时提示“Permission denied, please try again”错误如何处理

问题:

通过本地SSH客户端登录Linux系统的ECS实例时,即便输入了正确的密码,出现了类似如下的错误信息。

  • Permission denied, please try again
  • SSH服务器拒绝了密码,请再试一次

 

原因:

1. ECS实例内禁用root用户登录:SSH服务对应配置文件/etc/ssh/sshd_config中的参数PermitRootLoginPasswordAuthentication被设置为no

可以参考下面的禁止root用户登录引起问题的解决方法

 

2.Linux系统启用了SELinux服务,导致root用户和普通用户无法登录。

执行cat /var/log/secure查看secure日志,若日志中包含error: Could not get shadow infromation for root.表示是启用了SELinux服务导致。

可以参考下面的SELinux服务引起问题的解决方法解决。

 

解决方法 

 

一.禁止root用户登录引起问题的解决方法

 

1. VNC方式登录

2. 查看/etc/ssh/sshd_config的参数PermitRootLoginPasswordAuthentication配置。

  • #cat /etc/ssh/sshd_config

如下图所示,PermitRootLoginPasswordAuthentication参数设置为no,表示禁止root用户登录,也禁止以密码方式登录。

3. 根据业务需要,修改PermitRootLoginPasswordAuthentication参数配置

  • 打开SSH配置文件
  • vi /etc/ssh/sshd_config

4. 修改PermitRootLoginPasswordAuthentication参数值配置

  • 如果需要root用户登录,请将PermitRootLogin参数值设置为yes
  • 如果需要密码方式登录,请将PasswordAuthentication参数值设置为yes

 

5.Esc键,输入:wq保存修改

6.执行如下命令,重启SSH服务

  •  systemctl restart sshd.service

 

二.SELinux服务引起问题的解决方法

 

可以根据实际情况,选择临时或永久关闭SELinux服务解决SSH连接异常问题。

 

检查SELinux服务状态

 

1. VNC方式登录ECS实例

2. 执行如下命令,查看当前SELinux服务状态

  • /usr/sbin/sestatus -v

系统显示类似如下

SELinux status:       enabled

SELinux status参数值说明如下:

enabled:SELinux服务处于开启状态

disabled:SELinux服务处于关闭状态

3.关闭SELinux服务

 

临时关闭SELinux服务重启后会失效

 

执行如下命令,临时关闭SELinux

  • setenforce 0

 

执行如下命令,永久关闭SELinux服务。

  • sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

此命令只适用当前SELinux服务为enforcing状态时使用

 

4.重启实例使设置生效

  • 0 用户发现这个很有用
此文章对您是否有帮助?

相关文章

CentOS7.x防火墙开/关和添加端口

CentOS7.X,系统默认防火墙是firewalld,以CentOS7.6示例     1.查看防火墙状态 firewall-cmd...

linux系统如何设置开启/禁止ping

为了防止别人通过网络ping扫描找到并攻击机,可以在本机设置禁止停止ping命令   L inux默认是允许Ping响应的,系统是不允许Ping由2个原因决定的: 内核参数...

Linux系统如何查看内存使用情况以及清理缓存

有时服务器卡顿,不一定是cpu使用率过高,也有可能是内存不够用了,可以参考下面的方法来查看,并及时清理。     1.查看服务器物理内存、交换分区使用情况的命令:free...

Linux系统锐速安装教程

注意事项:锐速安装的前提是确保网卡为 eth 系列   步骤一:安装推荐版本内核,安装完成重启机器...