V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
AllenHua
V2EX  ›  程序员

ssh 的私钥并没有放在 ssh-add 的高速缓存里,甚至 ssh-agent.exe 没有启动。为什么还是能正常 git clone?

  •  
  •   AllenHua · 2021-07-27 18:01:08 +08:00 · 1648 次点击
    这是一个创建于 1211 天前的主题,其中的信息可能已经有所发展或是发生改变。

    执行 ssh-add -l 终端输出 The agent has no identities.

    C:\Users\MY_USERNAME\.ssh\ 下存放了很多不同网站(比如 github 、gitee 、 公司 gitlab 、自建 gitlab )的公钥私钥对、以及 config 、environment 文件

    以前有一次帮同事排查 git clone Permission Denied 的问题,后面帮他启动了 ssh-agent 程序,并使用 ssh-add PRIVATE-KEY-PATH 命令添加了私钥到 ssh-add 的高速缓存里了,再 git clone,成功了。

    但是今天发现 ssh-agent 程序不启动也可以正常 git clone,是为什么?求解惑。


    另外推荐一个 ssh for Windows 的配置,使用 Git Bash

    👉🏻 Setup SSH Authentication for Git Bash on Windows: https://gist.github.com/bsara/5c4d90db3016814a3d2fe38d314f9c23

    7 条回复    2021-07-28 16:31:27 +08:00
    AoEiuV020
        1
    AoEiuV020  
       2021-07-27 18:14:34 +08:00
    有没检查.ssh/config,我都是在这里配置的私钥,
    momocraft
        2
    momocraft  
       2021-07-27 18:20:07 +08:00
    1. 从你给的信息尚不能确定 clone 用的什么协议
    2. ssh -v (GITHUB) 看看用的是哪来的哪个 key
    dingwen07
        3
    dingwen07  
       2021-07-27 19:28:46 +08:00 via iPhone
    有没有可能是自动用了.ssh/id_rsa
    jim9606
        4
    jim9606  
       2021-07-27 19:42:02 +08:00
    如果没在.ssh/config 做设置,默认会使用.ssh/id_xxxx 私钥,特别是你没给这个私钥文件加密码的时候。
    如果打算用 ssh-agent,私钥一定要加密,不然就是骗自己。
    AllenHua
        5
    AllenHua  
    OP
       2021-07-27 20:31:25 +08:00
    @AoEiuV020 #1 谢谢。
    @jim9606 #4 谢谢。

    一直都用 .ssh/config 的配置的。可能是当时 Host 命名的不对

    ```
    Host xxx
    Hostname github.com
    IdentityFile /Users/USERNAME/.ssh/xxx_id_rsa
    User xx
    Port 22
    ```

    可能是当时 Host 命名不对导致的

    @momocraft #2 谢谢
    @dingwen07 #3 我没有这个文件,我的私钥我都独立命名成了 xxx_id_rsa 以更好区分的。如果用了这个文件应该会报 No such file or directory 的错误的。

    感谢大家的回复
    julyclyde
        6
    julyclyde  
       2021-07-28 16:02:19 +08:00
    试试直接 ssh (不用 git )去访问,如果也可以的话,ssh -v 参数应该可以显示用了哪个 key
    AllenHua
        7
    AllenHua  
    OP
       2021-07-28 16:31:27 +08:00
    @julyclyde #6 现在已经没法复现了。

    没记错的话 当时是没有 User 为 git 并且 Host 是 github .com ( Hostname 也是 github .com) 的配置
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5433 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 08:16 · PVG 16:16 · LAX 00:16 · JFK 03:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.