msysgit通过SSH连接到github失败

尝试用msysgit的bash通过ssh方式连接到github时,很郁闷总是出错:permission denied <publickey>。还好这个问题很常见,github将常见的解决办法进行了汇总,https://help.github.com/articles/error-permission-denied-publickey。后来发现了原因所在。

在git bash里面运行 ssh -vT git@github.com 命令,将打印出连接信息,从下图可以很清楚的看到尝试找密钥没找到的过程。

这说明密钥的路径服务器根本就不知道,自然找不到。这个密钥是用ssh-keygen命令产生的,过程中有选择一次存储路径,本以为它能够将路径记录,服务器能够找到,但是实际情况是没有,服务器根本不知道key放在了哪里。负责管理key的就是一个ssh-agent的工具,还是在这个bash下输入ssh-add pathtokey 就可以将密钥加入搜索路径,然后输入ssh -T git@github.com就可以连接上了。

但是,如果这样做,下次连接,还得重新加入路径,所以比较好的方法是,在ssh-keygen生成密钥对的时候,不要修改路径,默认就好。

参考:http://www.cnblogs.com/cheche/archive/2011/01/07/1918825.html

 

posted @ 2012-11-02 17:52  HOLD  阅读(652)  评论(0编辑  收藏  举报