今天使用eclipse时,遇到一个奇怪的问题。我首先通过命令行,导入了一个具有读写权限的项目:
git clone git@github.com:linqing/ebb.git
然后在它的基础上创建了一个eclipse项目。修改了代码之后,通过eclipse的egit插件提交,总是提示Auth fail,试遍了所有密码都一样。仔细检查了egit相关的配置,都没有发现问题。
可是通过命令行是没有问题的,这是怎么回事?
好在有万能的stackoverflow,经过搜索,发现了这个问题,看来不只我一个人遇到:
http://stackoverflow.com/questions/3601805/auth-problem-with-egit-and-github
原来,通过ssh向github提交时,需要配置密钥文件,但这个选项却没有放在egit中,而是在”Window > Preferences > Network Connections > SSH2”这个偏僻的角落里。
关键在于这个ssh2 home,之前的值是另一个目录,里面没有密钥文件。
看看那个目录里有什么?
关键就在于id_rsa这个文件,这是私钥。在Key Management中,将它导入:
然后再试试提交,成功。