使用SSH连接TFS/VSTS的GIT仓库

Team Foundation Server 从2013版本开始支持使用git作为代码库,Visual Studio Team Service也在同一时间支持git,但是TFS和VSTS对git的支持一直使用http/https作为传输协议,这让很多典型的git客户端无法很容易的连接到TFS/VSTS,比如Eclipse 里面的eGit插件。主要原因是微软的产品体系都是使用NTLM作为标准的身份认证方式,而git来自于世界的另一端Linux,对NTLM的支持一直都不好。当然,这个问题在使用了正确版本的Git Credential Manager的情况下是可以解决的,不过这不是这篇文章的重点。

创新互联公司-专业网站定制、快速模板网站建设、高性价比睢阳网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式睢阳网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖睢阳地区。费用合理售后完善,十年实体公司更值得信赖。

现在,无论你是使用什么样的操作系统或者git客户端,你都可以使用标准的ssh方式连接到TFS/VSTS的git仓库进行操作,同时借助ssh agent的帮助,避免在每次提交或同步代码的时候重复的输入密码,让你的git体验更加流畅。更为重要的是,因为ssh使用了public key的加密传输,这也让你的代码在传输过程中更为安全。

使用ssh链接TFS/VSTS的git仓库非常简单,只需要3步:

1. 生成 public key

运行命令

 
 
 
 
  1. ssh-keygen -C "yourEmailAddress" 

这将为当前用户生成以下两个文件

 
 
 
 
  1. ~/.ssh/id_rsa 
  2. ~/.ssh/id_rsa.pub 

分别为你的private key(私钥)和public key(公钥),第一个文件你一定要保存好,因为这个文件内的密钥是数据解密用的。在下一步的配置中你需要把.pub文件中的public key内容复制到TFS/VSTS服务器上,服务器将使用这个key来加密所传输的数据,而你的private key则用来解密。如果有人获取了你的private key那么他就可以使用你的身份来解密这些信息。

当然,在执行ssh-keygen的过程中你会需要设置一个keypharse(密码),这是进一步保护你的私钥的方式,所以在这一步尽量不要使用空的keypharse。

注:如果你使用的是Windows,你可能找不到ssh-keygen这个工具。建议你安装cmder这个Windows命令行替代工具,这里面有非常丰富的命令行工具,特别是对于经常和linux系统打交道的开发人员来说。

官网地址:http://cmder.net/

不用佛跳墙的话会很慢,建议在公众号里面输入d4dtools,就可以获取网盘下载地址。

2. 上传public key到TFS/VSTS中

进入你的TFS/VSTS项目中,点击右上角你的用户名,然后选择 User Security;如果你用TFS,那么这个选项就在User Profile里面。

然后选择 SSH Public Keys

最后使用文本编辑器打开id_rsa.pub文件,将里面的内容复制到Key Data字段中,注意一定要复制所有内容,而且不要修改任何字符,否则会造成认证失败。

3. 获取ssh地址,并clone代码

进入你的repo中,点击右上角的clone按钮,选择ssh链接方式并复制链接

现在你就可以clone了

ssh会要求你输入之前配置的keypharse,然后clone就可以完成了

如果你使用的是macOS,系统会要求你吧KeyPharse加入key chain,这样以后在进行pull/push操作的时候就不用再次输入密码了。如果你使用的是Windows,你可以使用ssh agent达到同样的效果,只要执行

 
 
 
 
  1. ssh-agent-start.cmd 

就是这么简单,Happy Coding!

【本文为专栏作者“徐磊”的原创稿件,转载请通过作者微信公众号devopshub获取授权】

本文标题:使用SSH连接TFS/VSTS的GIT仓库
网站网址:http://www.shufengxianlan.com/qtweb/news36/290786.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联