惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
J
Java Code Geeks
I
InfoQ
V
Visual Studio Blog
M
MIT News - Artificial intelligence
H
Help Net Security
博客园_首页
Blog — PlanetScale
Blog — PlanetScale
F
Fortinet All Blogs
Apple Machine Learning Research
Apple Machine Learning Research
人人都是产品经理
人人都是产品经理
G
Google Developers Blog
A
About on SuperTechFans
腾讯CDC
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Last Week in AI
Last Week in AI
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
云风的 BLOG
云风的 BLOG
S
SegmentFault 最新的问题
WordPress大学
WordPress大学

Mereith's Blog

记一次代理转发问题的排查与解决 PVE DataCenter Manager 端口号跳转错误修复 k8s + jenkins + gitlab 触发器 【转载】没有编程生产力这样的东西 【后续】居然被 ddos 了 居然被 ddos 了 Tagger - 让版本标签管理更简单 openclash 开启后端口转发失效 nextjs 启动时执行代码 买了太多VPS不知道干什么,干脆做个网站 juhost Level-1 测评 VMISS CN - Hong Kong VMISS JP - Tokyo - BGP 测评 VMISS CN - Hong Kong - BGP HomeLab 的终点是 最近在做的事情 因为选择艰难症,自己写了一套开源博客系统 手撸一个nodejs分布式爬虫,还要可视化 HomeLab 分享 我的个人工作流——开源项目推荐 动手写一个超简单的编译器 safari 插件开发 Safari Extensions Preferences 按钮无响应 设置移动端软键盘回车按钮文案 nginx proxy manager 非标准端口反代 Host 不对 监控 k8s ingress 自动添加域名 DNS 解析 使用 ingress 注解给 traefik ingress 添加中间件 使用流水线功能为文章添加固定结尾 为 VanBlog 添加一个小挂件 基于React/umi/egg自建博客系统 如何正确停止 NodeJS 子进程
ssh设置了为什么密钥还是需要密码
wanglu@mereith.com (mereith) · 2022-07-21 · via Mereith's Blog

请注意,本文编写于 2265 天前,最后修改于 1416 天前,其中某些信息可能已经过时。

最近新加了几个git仓库,重新设定了一下几个ssh,结果博客部署的时候j就突然需要密码了,以前都是不需要的,明明设置好了ssh密钥的啊,百思不得其解。所以经过几番折腾,进展如下:

1.查看日志

对于ubuntu来说,查看/var/log/auth.log即可 根据日志的内容针对性解决,如果无明显错误,再去探究

2.配置文件问题

远程主机

对于远程主机,ssh配置文件在/etc/ssh/sshd_config,主要有用的如下:

#禁用root账户登录,如果是用root用户登录请开启 PermitRootLogin yes # 是否让 sshd 去检查用户家目录或相关档案的权限数据, # 这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。 # 例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入 StrictModes no # 是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。 # 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内 RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys # 有了证书登录了,就禁用密码登录。 PasswordAuthentication no

重启服务:service sshd restart

本地主机

对于本地主机,配置文件在/etc/ssh/ssh_config中,主要是:

Host 别名(后面可直接通过[ssh 别名]进行登录) HostName IP Port 端口 User 用户名 IdentityFile 自己的私钥

3.密钥问题

对于自制的密钥对,想要生效,私钥是放在本地主机里的,要想要让私钥生效,有两种方式:

  • 1.直接在 /etc/ssh/ssh_config 中添加字段制定私钥
  • 2.直接用ssh-add 私钥位置,添加私钥(最常用)

4.权限问题

很多时候还是不行是因为权限的不得劲,注意如下:

  • 远程主机的,需要登录的用户的home目录~/.ssh目录~/.ssh/authorized_keys文件,权限必须是700或者755
  • 本地主机的私钥,权限不能太开放,最好是600

奇幻问题 当我做完了以上这些的时候,发现我ssh用root登陆ok免密码,用git用户就要密码,经过排查我发现: 在sshd_config文件中的authorized_keys字段必须用相对地址指定.ssh目录里的文件 我就是因为直接指定了root目录里的文件,所以我用git用户ssh的时候就没有权限了,所以还是要密码

5.参考文献

ssh|为什么通过公钥进行授权后仍然需要密码才能登陆? SSH无密钥登陆 与 配置公钥后仍需要输入密码的解决方案 ssh配置config快速登录服务器