openssh升级到9.0后ssh无法连接,提示access denied的解决方法

由于linux上的openssh的版本已太老,服务器要确保安全必须对openssh升级,在selinux开启的情况下openssh升级到9.0后ssh连接有可能提示Access Denied,这种情况下一般是selinux拦截了sshd。最简单直接解决ssh无法连接的方法就是关闭selinux,但是selinux对服务器的安全非常重要,一般情况下不要关闭。那在selinux开启的情况下又怎么处理?

解决方法:先查看系统实时日志,tail -f /var/log/messages,一般有报错提示,“localhost sshd[19802]: error: Could not get shadow information for admin...”,这个要先去/etc/ssh/sshd_config下把UsePAM改为yes,然后到/etc/pam.d/sshd下把内容修改为

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

这是因为linux系统中pam_stack.so这个库已经不再使用,需要修改/etc/pam.d/sshd才行。修改完成重启sshd即可。

附上ssh连接成功截图

openssh升级到9.0后ssh无法连接,提示access denied的解决方法_第1张图片

注:centos6和7都是这么操作,不要往sshd_config更改别的或增加别的配置,会导致重启异常。重启后连接不上如centos6执行命令service sshd restart后连接中断这个是sshd关闭后重启失败,需要到虚拟机中重新启动就可以了。

你可能感兴趣的:(linux,ssh,运维,服务器,centos)