win下给 Git Bash 添加私钥时ssh-add报错的解决办法
从 eclipse 换到 idea 后,
发现 idea 只集成了 git Bash,
而且没有加载密钥的设置功能,
那么问题来了:
在idea中提交代码时提示需要输入密码,
由于我们是使用密钥认证,并不知道密码。
既然 idea 集成的是 git Bash,
要想解决问题,
我们就需要让 git Bash 加载我们的私钥。
现在解决问题有两个办法:
一:使用 idea 开发,需要提交代码或者其他操作时打开资源管理器使用 TortoiseGit 进行操作;
二:想办法让 git Bash 加载私匙,完成认证操作。
方案一的话需要来回折腾,方案二可以直接在idea中完后操作,更方便。
网上有好多教程都是让使用 “ssh-add 私匙文件路径 ” 这条命令,
试了一下会报如下错误:Could not open a connection to your authentication agent

在 Linux 环境这样做是可以的,
但在 win 下不行。
后来 google 一下,
在 stackoverflow 中找到的解决办法。
(跟我默念:google 大法好!)
解决方法:
打开git Bash命令行,
依次执行以下命令:
1.exec ssh-agent bash
2.eval ssh-agent -s
3.ssh-add “C:\Users\Administrator\.ssh\id_rsa”
引号中的路径就是你私匙文件的路径,路径需要使用英文双引号包裹。

执行”ssh root@192.168.31.1“测试一下,
root替换成git服务器的用户名,@后面替换成git服务器的ip地址。
如果不需要输入密码就是成功,如果还是需要的话可以再次操作一下,
需要注意的是在git add 之前执行一条 “ssh-add -D” 命令,这是用来清除已有的私钥。
测试通过以后再打开idea,
down下代码,搞定!
ps 我第一次操作时成功后,
发现.ssh文件夹中多了一个”known_hosts”文件,
手闲就把它干掉了,
再次pull代码时就又不行了,
多次操作也不行,
后来加一个上面那个清除的命令才搞定。