记一次sshd无法启动的修复及开启usepam后ssh无法登录
centos 9 启动sshd报sshd.service not found
实际查到的问题:
/etc/systemd/system/sshd.service
是个软链接,链接的文件不对,先删除后重新链接
rm /etc/systemd/system/sshd.service
ln -s /lib/systemd/system/sshd.service
/etc/systemd/system/sshd.service
systemctl start sshd
netstat -ntlp 22端口正常
一般的处理思路:
-
确认
openssh-server
包是否已安装:执行
sudo dnf list installed | grep openssh-server
查看是否安装了openssh-server
包。 -
如果未安装,安装
openssh-server
:执行sudo dnf install openssh-server
来安装SSH服务器。 -
如果已安装但服务未找到,可能是服务单元文件损坏或不存在。尝试重新安装
openssh-server
:执行
sudo dnf reinstall openssh-server
。 -
如果服务仍然不存在,检查服务单元文件是否存在:
执行
sudo ls /etc/systemd/system/sshd.service
。 -
如果服务单元文件丢失,可能需要重新安装
openssh-server
或从其他正常工作的CentOS 9系统上复制相应的服务单元文件。 -
确认服务管理器状态良好,并且尝试重新加载systemd守护进程配置:
执行
sudo systemctl daemon-reload
。 -
如果以上步骤均无法解决问题,可能需要检查系统是否存在更多的问题,并考虑执行系统恢复或重装CentOS 9。
请根据实际情况逐步排查并解决问题。
启用UsePAM后用户登录失败
解决方法:
- 备份原文件/etc/pam.d/sshd,将以下内容覆盖写入/etc/pam.d/sshd
#%PAM-1.0
auth required pam_sepermit.so
auth include password-auth
account required pam_nologin.so
account include password-auth
password include password-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open env_params
session optional pam_keyinit.so force revoke
session include password-auth- 完成之后重启sshd。
- 最后再次尝试登录服务器验证问题是否解决。
原贴:https://blog.csdn.net/weixin_43832230/article/details/119565581?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-119565581-blog-131169130.235^v43^pc_blog_bottom_relevance_base5&spm=1001.2101.3001.4242.1&utm_relevant_index=4