前面写了一些文章,关于利用官方源码编译或者制作rpm包来升级openssh,修复安全漏洞
centos 7 制作openssh8.7/8.8/8.9/9.0 p1 rpm包升级——筑梦之路_筑梦之路的博客-优快云博客_openssh rpm包
redhat 9.0 制作openssh rpm包(9.0p1) —— 筑梦之路_筑梦之路的博客-优快云博客
CentOS7自制openssh rpm包(含ssh-copy-id命令)—— 筑梦之路_筑梦之路的博客-优快云博客
CentOS 8 制作openssh9.0 rpm包——筑梦之路_筑梦之路的博客-优快云博客_制作openssh的rpm包 解决升级openssh后无ssh-copy-id命令——筑梦之路_筑梦之路的博客-优快云博客_ssh-copy-id命令不存在
openssh升级后问题处理 —— 筑梦之路_筑梦之路的博客-优快云博客_openssh升级导致远程连接失败
批量更新软件和安全优化(以openssh为例) —— 筑梦之路_筑梦之路的博客-优快云博客
CentOS 6 源码制作openssh8.9/9.0 p1 rpm包——筑梦之路_筑梦之路的博客-优快云博客
CentOS7 openssh编译升级到8.7p1——筑梦之路_筑梦之路的博客-优快云博客_openssh编译升级
均需要关闭selinux,而且网上大多数教程和文章也都是直接关闭selinux,那么如果在不关闭selinux的情况下,出现的问题主要有:
1.报错:
error: Could not get shadow information for root
2.即使用户密码正确也无法登陆,表现为xshell登陆的时候不断让你输入密码 循环
本文主要介绍在使用源码编译安装或制作rpm包升级安装后,不关闭selinux的情况下应该如何解决该问题。
oepnssh配置文件去掉空格和注释行内容如下:
cat /etc/ssh/sshd_config | grep -v '^#' | grep -v '^$'
AuthorizedKeysFile .ssh/authorized_keys
#解决此报错信息 error: Could not get shadow information for <user>
UsePAM yes
Subsystem sftp /usr/libexec/openssh/sftp-server
#允许root远程登录
PermitRootLogin yes
#允许密码登录
PasswordAuthentication yes
此时重启sshd服务,发现还是无法登录,发现报错信息:
PAM unable to dlopen(/usr/lib64/security/pam_stack.so): /usr/lib64/security/pam_stack.so: cannot open shared object file: No such file or directory
PAM adding faulty module: /usr/lib64/security/pam_stack.so
pam_stack.so这个库已经不再使用,需要修改/etc/pam.d/sshd,此步骤在前面升级安装的步骤中有提到,这里再写一遍作为强调!!!
cat /etc/pam.d/sshd | grep -v '^#' | grep -v '^$'
auth required pam_sepermit.so
auth include password-auth
account required pam_nologin.so
account include password-auth
password include password-auth
session required pam_selinux.so close
session required pam_loginuid.so
session required pam_selinux.so open env_params
session optional pam_keyinit.so force revoke
session include password-auth
以上步骤完成后,重启sshd服务,发现就可以正常登录,selinux也是默认的Enforcing,防火墙firewalld也是running状态
-----------------------------------------------------------------------------------------------------
2022年10月4日 发布openssh 9.1p1版本
参考资料:
升级OpenSSH7.9 - SegmentFault 思否