由于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连接成功截图
文章来源:https://www.toymoban.com/news/detail-517120.html
注:centos6和7都是这么操作,不要往sshd_config更改别的或增加别的配置,会导致重启异常。重启后连接不上如centos6执行命令service sshd restart后连接中断这个是sshd关闭后重启失败,需要到虚拟机中重新启动就可以了。文章来源地址https://www.toymoban.com/news/detail-517120.html
到了这里,关于openssh升级到9.0后ssh无法连接,提示access denied的解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!