执行 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
1
AoEiuV020 2021-07-27 18:14:34 +08:00
有没检查.ssh/config,我都是在这里配置的私钥,
|
2
momocraft 2021-07-27 18:20:07 +08:00
1. 从你给的信息尚不能确定 clone 用的什么协议
2. ssh -v (GITHUB) 看看用的是哪来的哪个 key |
3
dingwen07 2021-07-27 19:28:46 +08:00 via iPhone
有没有可能是自动用了.ssh/id_rsa
|
4
jim9606 2021-07-27 19:42:02 +08:00
如果没在.ssh/config 做设置,默认会使用.ssh/id_xxxx 私钥,特别是你没给这个私钥文件加密码的时候。
如果打算用 ssh-agent,私钥一定要加密,不然就是骗自己。 |
5
AllenHua OP @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 的错误的。 感谢大家的回复 |
6
julyclyde 2021-07-28 16:02:19 +08:00
试试直接 ssh (不用 git )去访问,如果也可以的话,ssh -v 参数应该可以显示用了哪个 key
|