记一次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端口正常

 

一般的处理思路:

  1. 确认openssh-server包是否已安装:

    执行sudo dnf list installed | grep openssh-server查看是否安装了openssh-server包。

  2.  如果未安装,安装openssh-server:执行sudo dnf install openssh-server来安装SSH服务器。

  3. 如果已安装但服务未找到,可能是服务单元文件损坏或不存在。尝试重新安装openssh-server

    执行sudo dnf reinstall openssh-server

  4.  如果服务仍然不存在,检查服务单元文件是否存在:

     执行sudo ls /etc/systemd/system/sshd.service

  5.  如果服务单元文件丢失,可能需要重新安装openssh-server或从其他正常工作的CentOS 9系统上复制相应的服务单元文件。

  6.  确认服务管理器状态良好,并且尝试重新加载systemd守护进程配置:

     执行sudo systemctl daemon-reload。 

  7.  如果以上步骤均无法解决问题,可能需要检查系统是否存在更多的问题,并考虑执行系统恢复或重装CentOS 9。

     请根据实际情况逐步排查并解决问题。

     

    启用UsePAM后用户登录失败

    解决方法:

    1. 备份原文件/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

    1. 完成之后重启sshd。
    2. 最后再次尝试登录服务器验证问题是否解决。

    原贴: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

posted @ 2024-07-08 10:32  liulj0713  阅读(314)  评论(0编辑  收藏  举报