Hexo三连上传文章免密登录

问题描述
1.在将本地博客部署到服务器时,按照步骤首先创建密钥,其次就是将生成的公钥粘贴到服务器文件中vim .ssh/authorized_keys
。按照教程来讲已经成功了,但在实际测试时发现我们丢在服务器在文件中的公钥只起到连接的作用,在上传文章时仍需要填写Git用户的密码,对于我这种懒人来说这太痛苦了,必须要实现免密登录与上传
2.造成免密登录失效的原因是公钥文件权限导致的无法远程使用公钥登录而转为密码登录
3.关于如何排查出是文件目录权限导致的免密登录失效可以看看这位老哥的博客
查看公钥目录权限
检查ssh目录权限和属主
1 | cd /home |
修改ssh目录权限和属主
需要的权限的是700,如果不是700,执行以下命令修改
1 | chmod 700 .ssh |
需要的属组是Git用户,如果不是,执行以下命令修改
1 | # 这里Group换成你用户的属组 |
需要的属主是Git用户,如果不是,执行以下命令修改
1 | # 这里Username换成你的用户名 |
查看钩子文件权限
检查authorized_keys
1 | cd .ssh/ |
修改authorized_keys权限
需要的权限的是644,如果不是644,执行以下命令修改
1 | chmod 644 authorized_keys |
查看Username权限
检查Username权限
1 | ll -a /home/ |
修改Username权限
需要的权限是755
或者700
,其他用户没有w权限即可
1 | chmod 755 /home/[Username] |
总结排查方法
检查项 | 操作示例 | 说明 |
---|---|---|
.ssh 目录的属主、属组是否为要登陆的用户与用户组 |
ll -a /home/[Username]/ |
Username 为用户名,下同 |
.ssh 目录的权限是否为 700 |
ll -a /home/[Username]/ |
|
.ssh 目录下authorized_keys 的权限是否为644 |
ll -a /home/[Username]/.ssh/ |
|
[Username] 目录的权限是否为755 |
ll -a /home/ |
700 也可以,确保其他人没有w 权限 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 GanSer!
评论
匿名评论
✅ 你无需删除空行,直接评论以获取最佳展示效果