在Eclipse上使用egit插件通过ssh协议方式上传项目代码

前戏:

使用ssh方式可以不通过https协议,避免直接提供账号密码的方式上传项目到git在线服务器,如Bitbucket、GitHub,同时极其可靠的保证账号安全性。

对于像笔主一样刚出道的程序员,习惯于使用eclipse的GUI界面,面对百度上搜索出来关于git操作的漫天的命令行,总有百般无奈,好不容易找到了GUI上的操作教程,按着做却一遍遍的出错,翻查git服务器的ssh支持文档,也没查到问题,也考虑过eclipse的bug问题,经过漫长探索,综合多个帖子博文的资料,终于在刚才攻破了在eclipse上使用egit插件通过ssh协议方式上传项目代码的难题!拍手拍手233

 

操作步骤:

  1. Eclipse:Window->preferences->General->Network Connections->SSH2
  2. 在General页,确认SSH2 home位置,用于存储SSH协议使用的非对称加密密钥文件,默认即可
  3. 切换到Key Management页,选择点击 Generate DSA key 或 Generate RSA key 按钮,生成DSA或RSA算法的密钥,原则上是DSA或RSA都受支持的,个人感觉DSA甚至更好,毕竟两者中DSA被美国NIST挑选作为数字签名标准,但是RSA在百度搜索出的纵多博文中被使用,纠结啊~~~(笔主这里为了迎难而上,使用DSA)
  4. 生成了看上去满意的密钥后,填写Comment简要注释,填写Passphrase(可选填项,相当于password,用于加密保护私钥,填写后每次上传服务器,将要求提供此密码验证私钥的使用权),点击SavePrivateKey
  5. 关键步骤】点击 Export Via SFTP ,按 user@host[:port] 形式输入公钥绑定的服务器域,如 git@bitbucket.org 或 git@github.com (user直接就是git,copy粘贴就可以),输入刚才的Passphrase,点击各种确定,最后会在 SSH2 home 的密钥文件id_rsa、id_rsa.pub(文件名称可自定义)旁边生成一份known_hosts文件,记录每个公钥绑定的服务器,笔主这边每次都会报出 Failed to export ssh key to remote server 的错误,直接忽略。   —– ps. 最后面push的时候报出 The authenticity of host \’bitbucket.org\’ can\’t be established. 之类的错误,阻止上传,基本都是没执行这一步的原因。
  6. 点击 Load Existing Key ,选择刚才生成的私钥,输入Passphrase,点击Apply (不知道需不需要这一步,试验多了忘了)
  7. 点击旁边的Known Hosts页,应该能看到刚才绑定的服务器记录,返回General页,确认Private keys中包含了刚才保存的私钥件id_rsa,没包含的话点击旁边的Add添加进去,最后点击Apply
  8. 最好重启一次Eclipse
  9. 把生成的公钥(刚才生成密钥的时候显示的那一串东西)绑定到git服务器上,bitbucket是通过manage account里面的SSH keys中粘贴上去的,用记事本打开id_rsa.pub看到的就是,全部复制下来,乃懂的。
  10. 在bitbucket或github中新建个项目库,把库对应的SSH上传地址拷贝下来待用,类似ssh://git@bitbucket.org/username/myXXOO.git 或 git@bitbucket.org:username/myXXOO.git这种形式的,自己找找
  11. 右键点击项目,先执行team->share project,添加到git本地版本库管理,然后需要team->commit,填下comment就可以提交了,再之后team->remote->push,把上面的SSH地址贴到URI上面,之后点击next,点击Add all branches spec,点击Finish,上传完成。

版权声明:本文为wavky原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wavky/p/egit-ssh.html