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

 

總結: 在困惑一件事情的時候要弄清楚與它相關聯的其他技術,這樣才能全面的考慮問題原因,精確找到答案,縮短困惑時間,提升幸福感。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM