在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. 2.1 进程控制之fork创建子进程

    fork()函数 目标:熟悉fork创建一个和多个子进程子线程 函数原型:pid_t fork(void); 返回值:成功返回:① 父进程返回子进程的ID(非负) ②子进程返回 0 : 失败返回-1. ...

  2. Mongoose模式的扩展

    模式的扩展 默认值 默认值的类型: 固定值.即使生成 代码展示: var mongoose = require('mongoose');mongoose.connect('mongodb://loca ...

  3. 安装sql server

    因为电脑中只有mysql数据库,所以昨天准备安装一个sql server.安装中出现了许多问题,首先第一遍的时候,安装组件中没有勾选管理工具这个选项,所以在最后的时候,文件夹中只有配置管理器,没有数据 ...

  4. 区分Oracle的数据库,实例,服务名,SID

    文章摘自:http://www.zhetao.com/content240 感谢分享O(∩_∩)O~ 在实际的开发应用中,关于Oracle数据库,经常听见有人说建立一个数据库,建立一个Instance ...

  5. Mysql数据库的压力

    rationalError: (2006, 'MySQL server has gone away') 2017年10月10日 20:04:43 阅读数:377 问题描述 使用django+celer ...

  6. ora-12154 TNS:"无法处理服务名"的一个解决方法

    http://www.cnblogs.com/xh3/archive/2007/04/21/722217.html 很怪异的一个问题,在网络环境下配置客户端,竟然怎么也连不上主机了,看了不少帖子,大多 ...

  7. Word中使用宏调整表格

    Dim i As Integer   For i = 1 To Selection.Tables.Count Selection.Tables(i).Columns(9).Delete Selecti ...

  8. 【题解搬运】PAT_A1016 Phone Bills

    从我原来的博客上搬运.原先blog作废. 题目 A long-distance telephone company charges its customers by the following rul ...

  9. SQL 语句中 exists和not exists的用法

    exists       (sql       返回结果集,为真)   not       exists       (sql       不返回结果集,为真) 如下: 表A ID   NAME    ...

  10. PostgreSQL基本配置

    记一下Postgresql的基本操作,在Ubuntu下使用apt-get安装是不会像MySQL那样都配置好了,而是要安装后再配置: 1. 基本安装 # 安装postgresql和pgadmin(一个管 ...