在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,上传完成。

在Eclipse上使用egit插件通过ssh协议方式上传项目代码的具体步骤的更多相关文章

  1. git上传项目代码到github

    参考: git学习——上传项目代码到github github上传时出现error: src refspec master does not match any解决办法 git 上传本地文件到gith ...

  2. 在eclipse中使用jetty插件替代m2e开发调试maven web项目

    第一步在相应的web项目上配置jetty插件,配置如下: <plugin> <groupId>org.mortbay.jetty</groupId> <art ...

  3. Eclipse下安装SVN插件以及连接SVN服务并发布项目

    Eclipse安装SVN插件 Help->Eclipse MarketPlace 查找并安装Subclipse插件 按默认步骤完成SVNEclipse插件的安装(安装完成后需要重启Eclipse ...

  4. eclipse里安装SVN插件的两种方式

    eclipse里安装SVN插件,一般来说,有两种方式: 直接下载SVN插件,将其解压到eclipse的对应目录里 使用eclipse 里Help菜单的“Install New Software”,通过 ...

  5. 如何使用Git上传项目代码到代码服务器

    如你本机新建Git项目 地址:git@github.com:yourName/yourRepo.git,远程代码库服务器地址:192.168.10.1,远程代码服务器账户名密码:admin 密码:12 ...

  6. TortoiseGit上传项目代码到github方法(超简单)

    Github是咱广大开发者用的非常多的项目代码版本管理网站,项目托管可以是私人的(private)或者公开的(public),私人的收费,一个月7美金.咱这里就只说我们个人使用的,一般都是代码对外开放 ...

  7. 【Mac系统 + Git】之上传项目代码到github上以及删除某个文件夹

    之前做开发的时候,用过一段时间git代码管理工具,用命令行操作感觉十分高大上,今天我想从头总结一篇Mac系统下如何利用git上传代码到github上的学习. 目录 一.安装Git 二.创建.ssh文件 ...

  8. 使用Git上传项目代码到github

    github是一个基于Git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开.这对于一般人来说公共仓库就已经足够了.   注册账户以及创建仓库 要想使用gi ...

  9. Jenkins - SSH认证方式拉取Git代码

    1.本地生成密钥 [root@root ~] ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which ...

随机推荐

  1. tomcat+nginx+keepalived的配置

    tomcat+nginx+keepalived的配置 1.在官网上下载Tomcat 2.将压缩包解压,并且移动到/opt/data/的目录下. .tar.gz /opt/data/ 3.进入到Tomc ...

  2. STM32CubeMx配置正交编码器遇到的问题

    配置时参考了这个哥们的方法: http://www.eemaker.com/stm32cubemx-encoder.html 然后我的配置是这样的 配置是没有问题. 调用时出现了问题. 由于配置完了, ...

  3. SQL语句笔记/好记性不如烂笔头/持续更新

    常用的增删改查操作,针对库,表,字段,记录分类有助于记忆,当然熟能生巧,还是需要多多实操 库操作 删除库 drop database dbx; 列出所有库 show databases; 切换库 us ...

  4. 第1章 MATLAB概述

    MATLAB系统由~开发环境.~语言.~数学函数库.~图形处理系统.~应用程序接口(API)5大部分组成. 界面 命令行中的语句格式 命令行的语句格式:>>变量=表达式(没有>> ...

  5. unity独立游戏开发日记2018/09/27

    今天优化了下昨天的代码,并且添加了树木和其他资源的生成.还修复了接近石头后,挖掘图标不出现的bug.目前可以在unity中稳定60-70fps. 详看文章:https://www.cnblogs.co ...

  6. count_char

    import java.util.Scanner; public class count_char { public static void main(String args[]) { int cou ...

  7. SQL 公用表表达式(CTE)

    1.概念 公用表表达式(Common Table Expression)是SQL SERVER 2005版本之后引入的一个特性.CTE可以看作是一个临时的结果集,可以在接下来的一个SELECT,INS ...

  8. python2.7入门---break语句&continue语句&pass空语句

        这篇文章记录的就是比较好玩的东西了,也是比较重要的.咱们先来看一下break语句.Python break语句,就像在C语言中,打破了最小封闭for或while循环.break语句用来终止循环 ...

  9. js 实现字符串转日期进行比较大小

    代码如下 var a = '2016-01-01 12:12:12'; var b = '2016-01-01 12:12:13'; var al = new Date(a).getTime(); v ...

  10. java Vector向量

    9.3.4 Vector向量 [专业IT培训机构,真正零首付入学www.bjsxt.com] Vector底层是用数组实现的List,相关的方法都加了同步检查,因此“线程安全,效率低”. 比如,ind ...