zoukankan      html  css  js  c++  java
  • 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文件, 无后缀名,输入一下内容

        

    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,就可以直接拉取了,好了,赶快开始你愉快的开发吧。

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

  • 相关阅读:
    jQuery 删除元素
    jQuery 添加元素
    jQuery 捕获
    jQuery 链
    jQuery Callback
    jQuery 停止动画
    jQuery 动画
    jQuery 滑动
    jQuery 淡入淡出
    SP2010开发和VS2010专家"食谱"--第七章节--使用客户端对象模型
  • 原文地址:https://www.cnblogs.com/nelson-hu/p/8530816.html
Copyright © 2011-2022 走看看