IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> SSH 免密登录配置与Permission denied (publickeygssapi-with-micpassword)问题 -> 正文阅读

[开发工具]SSH 免密登录配置与Permission denied (publickeygssapi-with-micpassword)问题

背景

为了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命令恢复文件的安全上下文解决问题

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

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-07-05 23:39:36  更:2022-07-05 23:39:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 11:43:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码