Mac下使用终端连接远程使用ssh协议的git服务器

最近换了台新电脑, MacBook pro,拿到新电脑之后小小心喜了一下(终于解脱windows的束缚拥抱mac啦), 然后就开始苦逼的安装各种开发环境了。

之前在windows上使用tortoiseGit作为git客户端,使用putty作为ssh代理工具获取公司自己搭建的私有git服务器上, putty下的秘钥文件格式为*.ppk,这样在拉取项目时只需要手动添加ppk到putty中就行了。

然而并没有mac版的torisegit,决定选用sourcetree作为git客户端,但sourcetree只支持github和bitbucket平台,并不支持基于ssh协议的远程git仓库,无奈只能决定从终端配置ssh秘钥, 然后再用soucetree拉取。

 

场景:

  MacOS High Sierra:  10.13.2

  git: v2.16.2

  souretree:2.7.1

由于Mac基于unix,而linux和unix自带的实现ssh协议的工具是openSSH,openSSH的秘钥格式为*.pem, 所以,要想使用windows的ppk文件, 需要把ppk文件转换为pem文件,然后连接即可。

有两种方式可将ppk文件转换为pem文件,1 在windows下使用puttygen下转换, 2 在mac下使用putty转换,现介绍第二种方法, 

  1. 在mac终端中使用homebrew安装putty(homebrew是mac下的包管理器)$ brew install putty, 同时会安装puttygen

  2. 转换:  $ puttygen xxx.ppk -O private-openssh -o xxx.pem

  3. 在 ~/.ssh/文件夹中建立config文件, 无后缀名,输入一下内容

    

1
2
3
4
5
Host alias # 别名
  HostName git.company.com #ip地址或域名
  User git #要登录的远程git服务器的用户名,一般为git
  IdentityFile /users/huxuezhi/.ssh/xxx.pem # 制定秘钥文件的位置
  IdentitiesOnly yes # 可写可不写,表示只用秘钥文件认证

  然后就可以在终端里访问git仓库了,

    使用: git clone git@alias:some_repo.git

  是不是可以正常拉取了。

 

回到sourcetree,直接从URL新建仓库, 输入git@alias:some_repo.git或git@git.company.com:some_repo.git,就可以直接拉取了,好了,赶快开始你愉快的开发吧。

 

总结: 在困惑一件事情的时候要弄清楚与它相关联的其他技术,这样才能全面的考虑问题原因,精确找到答案,缩短困惑时间,提升幸福感。

 

posted @   果感  阅读(2122)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 内存占用高分析
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
阅读排行:
· 支付宝事故这事儿,凭什么又是程序员背锅?有没有可能是这样的...
· 在线客服系统 QPS 突破 240/秒,连接数突破 4000,日请求数接近1000万次,.NET 多
· C# 开发工具Visual Studio 介绍
· 在 Windows 10 上实现免密码 SSH 登录
· C#中如何使用异步编程
点击右上角即可分享
微信分享提示