• SSH 免密登录配置与Permission denied (publickey,gssapi-with-mic,password)问题


    背景

    为了SSH的登录安全,将SSH配置为使用公私钥的方式进行登录

    常规配置

    配置SSH使用公私钥登录来实现免密的方法,减少了每次登录都需要输入复杂密码与登录的安全问题,配置过程如下

    1. 检查/etc/ssh/sshd_conf 的配置
      • PubkeyAuthentication yes # 启用pubkey认证
      • AuthorizedKeysFile .ssh/authorized_keys # 配置用户的认证公钥
      • PasswordAuthentication no # 禁用密码认证
    2. 使用ssh-keygen -t rsa -b 2048 生成密钥对,默认会在/home/{username}/.ssh目录下
      • 生成密钥时建议设置密钥的密码,防止密钥泄漏风险
    3. 密钥与权限配置
      • 将生成的公钥添加到.ssh/authorized_keys
      • 修改.ssh目录权限 chmod 0700 ~/.ssh chown {username}:{groupname} -R ~/.ssh
      • 修改authorized_keys文档权限 chmod 0600 ~/.ssh/authorized_keys
    4. 重启sshd服务使配置生效
    5. copy私钥文档客户端并妥善保存,将客户端的私钥文件权限设置成0600。这时就可以使用ssh username@host -i identityfile命令进行登录。

    通过上面的配置基本就完成了SSH使用公私钥登录的配置。

    问题检查

    客户端登录提示: Permission denied (publickey,gssapi-with-mic)

    • 出现publickey通常是.ssh目录与authorized_keys文件配置的权限问题
    • 出现gssapi-with-mic是因为开启了gssapi功能,可以通过在sshd_config中关闭来解决
      • GSSAPIAuthentication no
      • GSSAPICleanupCredentials no
      • GSSAPIStrictAcceptorCheck no
      • GSSAPIKeyExchange no
    • 出现password是开启了密码登录,但密码认证失败

    当我们关闭了gssapi认证,password认证登录方式,只开启pubkeyAuthentication时会提示:Permission denied (publickey),这里注意对认证的文件名,文件权限做仔细的检查,如果还是提示:Permission denied (publickey),可以通过restorecon -FRvv ~/.ssh命令恢复文件的安全上下文。

    记录这遍文章的重点在于restorecon -FRvv ~/.ssh命令,上面的配置过程在网上也是在大堆,为了方便就在这里再次记录了。我实践时出现上面的问题的过程如下:

    • 服务器配置完成后就配置了公私钥登录,配置过程和上面相同,并没有遇到什么问题。
    • 因为断电导致服务异常关机,重新开机后通过公私钥登录开始提示:Permission denied (publickey,gssapi-with-mic)
    • 通过restorecon -FRvv ~/.ssh命令恢复文件的安全上下文解决问题

    如果在实践中还遇到了需要记录的其它情况可以在通过评论,私信等方式告知我,将持续记录这一问题的解决方案。

  • 相关阅读:
    Volatile从浅到深
    c++ ofstream 和ifstream 读写二进制文件的简单操作
    基于界面交互展开的用例设计思路
    Linux开发_CentOS7.4服务器安装NFS、NGINX服务器,ffmpeg、Qt环境
    [附源码]Python计算机毕业设计SSM健身网站平台(程序+LW)
    MySQL性能优化-Mysql索引篇(3)
    vue_router__WEBPACK_IMPORTED_MODULE_7__.default.push is not a function 错误的解决
    AI/DM相关conference ddl(更新中)
    基于shiro+redis缓存的session共享方案
    MySQL事务
  • 原文地址:https://blog.csdn.net/tuchangsheng801004/article/details/125495864