CENTOS 升级SSH至8.0P1 用户无法登录Permission denied (publickey,password,keyboard-interactive)

简介: CENTOS 升级SSH至8.0P1 用户无法登录Permission denied (publickey,password,keyboard-interactive)

CENTOS 升级SSH至8.0P1 用户无法登录Permission denied (publickey,password,keyboard-interactive)

问题前奏

有个客户环境的SSH 版本为 OpenSSH_8.0p1, OpenSSL 1.0.2r 26 Feb 2019。且用jsch的0.1.54版本连接出错。为尝试复现问题,先在自己虚拟机上升级环境。

升级步骤参考: https://www.cnblogs.com/nmap/p/10779658.html 。 升级过程无误可用。

问题情况

升级完成后,出现SSH远程登录失败,输入三次密码后报如下错误:

Permission denied (publickey,password,keyboard-interactive).

问题分析解决

[root@gxp5 etc]# service sshd status
● sshd.service - SYSV: OpenSSH server daemon
   Loaded: loaded (/etc/rc.d/init.d/sshd; bad; vendor preset: enabled)
   Active: active (running) since 五 2020-07-17 11:29:50 CST; 33s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 11371 ExecStop=/etc/rc.d/init.d/sshd stop (code=exited, status=0/SUCCESS)
  Process: 11380 ExecStart=/etc/rc.d/init.d/sshd start (code=exited, status=0/SUCCESS)
 Main PID: 11388 (sshd)
    Tasks: 1
   CGroup: /system.slice/sshd.service
           └─11388 /usr/sbin/sshd
7月 17 11:29:50 gxp5 systemd[1]: Starting SYSV: OpenSSH server daemon...
7月 17 11:29:50 gxp5 sshd[11388]: Server listening on 0.0.0.0 port 22.
7月 17 11:29:50 gxp5 sshd[11388]: Server listening on :: port 22.
7月 17 11:29:50 gxp5 sshd[11380]: Starting sshd:[  确定  ]
7月 17 11:29:50 gxp5 systemd[1]: Started SYSV: OpenSSH server daemon.
7月 17 11:30:18 gxp5 sshd[11432]: error: Could not get shadow information for hundsun
7月 17 11:30:18 gxp5 sshd[11432]: Failed password for hundsun from 112.168.136.1 port 54594 ssh2
7月 17 11:30:20 gxp5 sshd[11432]: Failed password for hundsun from 112.168.136.1 port 54594 ssh2
7月 17 11:30:22 gxp5 sshd[11432]: Failed password for hundsun from 112.168.136.1 port 54594 ssh2
  • 可以看到运行状态是正常的,但是登录失败,说是没有影子信息。
  • 查看shadow information的问题
    这里提到了UsePAM 选项变成了 no ,原来是yes 。 https://blog.csdn.net/weixin_30624825/article/details/99312372
    我查看了一下我的/etc/ssh/sshd_config配置文件中,它是注释的,如下:
#UsePAM no
  • 既然是注释的,我也不知道这个版本他的默认值是什么,那么我就改成yes试试,结果问题就解决了,远程可以登录了。

UsePAM

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
  • 机器翻译
#将此设置为‘yes’,以启用PAM身份验证、帐户处理、和会话处理。如果启用了此功能,则PAM身份验证将通过挑战者esponseauthentication和# PasswordAuthentication被允许。根据您的PAM配置,通过挑战者esponseauthentication进行的PAM身份验证可以绕过“PermitRootLogin without-password”的设置。如果您只是想让PAM帐户和会话检查在没有 PAM身份验证的情况下运行,那么启用这个功能,但将PasswordAuthentication 和 质询响应身份验证 设置为“no”。

ps: 还不是很懂,先留个纪念

补充:https://developer.aliyun.com/ask/82869?spm=a2c6h.13706215.wenda.35.6f4940ae6pa3P1

这里提到了,如果ulimit参数修改没有生效,问题可能就是没有开启PAM。

目录
相关文章
|
6月前
|
应用服务中间件 网络安全 数据安全/隐私保护
网关服务器配置指南:实现自动DHCP地址分配、HTTP服务和SSH无密码登录。
哇哈哈,道具都准备好了,咱们的魔术秀就要开始了。现在,你的网关服务器已经魔法满满,自动分配IP,提供网页服务,SSH登录如入无人之境。而整个世界,只会知道效果,不会知道是你在幕后操控一切。这就是真正的数字世界魔法师,随手拈来,手到擒来。
373 14
|
9月前
|
安全 网络安全 数据安全/隐私保护
Debian 12系统中允许Root远程SSH登录解决方法!
在 Debian 12 系统中开启 SSH 远程 Root 登录需修改 SSH 配置文件 (`sshd_config`),将 `PermitRootLogin` 设置为 `yes` 并确保密码认证启用。完成后重启 SSH 服务并验证连接。若防火墙启用,需放行端口 22。注意,直接开放 Root 登录可能带来安全风险,建议使用普通用户登录后切换至 Root。
1143 1
|
JavaScript 应用服务中间件 Linux
【应用服务 App Service】解决无法从Azure门户SSH登录问题
【应用服务 App Service】解决无法从Azure门户SSH登录问题
272 0
|
12月前
|
监控 Ubuntu 安全
debian或Ubuntu中开启ssh允许root远程ssh登录的方法
在Debian或Ubuntu系统中启用root用户的SSH远程登录需要编辑SSH配置文件、设置root密码并重启SSH服务。虽然这可以在某些情况下提供便利,但必须注意安全性,通过使用强密码、限制IP访问、使用SSH密钥认证等方法来保护服务器的安全。
5260 5
|
安全 Linux 网络安全
Linux端的ssh如何升级?
Linux端的ssh如何升级?
1112 59
|
机器学习/深度学习 存储 Linux
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
【机器学习 Azure Machine Learning】使用VS Code登录到Linux VM上 (Remote-SSH), 及可直接通过VS Code编辑VM中的文件
258 4
|
安全 Shell Linux
如何禁止某个用户使用ssh登录
本文介绍了五种禁止用户通过SSH登录的方法:1) 修改`/etc/ssh/sshd_config`文件中的`DenyUsers`和`DenyGroups`来阻止特定用户或用户组登录;2) 将用户的默认shell设置为`/usr/sbin/nologin`或`/bin/false`以禁用其SSH访问;3) 利用PAM(可插入认证模块)通过编辑`/etc/security/sshd.conf`来限制登录权限;4) 通过编辑`/etc/hosts.deny`文件拒绝特定用户的SSH访问;5) 锁定或禁用用户账号以阻止所有类型的登录。每种方法都提供了详细的步骤指导。
2098 1
|
安全 Linux Shell
Linux系统之间实现免密码登录(SSH无密码登录
【8月更文挑战第21天】要在Linux系统间实现SSH免密码登录,需先在源机器生成SSH密钥对,然后将公钥复制到目标机器的`.ssh/authorized_keys`文件中。可通过`ssh-keygen`命令生成密钥,并使用`ssh-copy-id`命令传输公钥。最后测试SSH连接,确保能无密码登录。若目标机器缺少相关目录或文件,需手动创建并设置适当权限。完成这些步骤后,即可实现安全便捷的免密码登录。
823 0
|
Ubuntu Linux 网络安全
在Linux中,如何禁用root用户直接SSH登录?
在Linux中,如何禁用root用户直接SSH登录?
|
存储 安全 Linux
说到Linux安全,SSH限制IP登录绕不开这3种方法!
说到Linux安全,SSH限制IP登录绕不开这3种方法!
833 0