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,就可以直接拉取了,好了,赶快开始你愉快的开发吧。
总结: 在困惑一件事情的时候要弄清楚与它相关联的其他技术,这样才能全面的考虑问题原因,精确找到答案,缩短困惑时间,提升幸福感。
Mac下使用终端连接远程使用ssh协议的git服务器的更多相关文章
- debian下使用gitosis+gitweb搭建SSH认证的git服务器
搭建完成Git服务器后,需要使用两台机器进行测试,一台机器作为服务器端server,一台服务器作为客户端client.整个系统,需要三个计算机账户,这里假设server端的账户名为git,client ...
- 在mac下使用终端命令通过ssh协议连接远程linux系统,代替windows的putty
指令:ssh username@server.address.com 事例:wangmingdeMacBook-Pro:~ xxxxxxxxxx$ ssh root@XXXX.net The auth ...
- 搭建通过 ssh 访问的 Git 服务器
一.Git 协议 Git 可以使用四种主要的协议来传输数据:本地传输,ssh 协议,Git 协议和 HTTP 协议. Git 使用的传输协议中最常见的就是 ssh 了.大多数环境已经支持通过 ssh ...
- 【C#】教你纯手工用C#实现SSH协议作为GIT服务端
SSH(Secure Shell)是一种工作在应用层和传输层上的安全协议,能在非安全通道上建立安全通道.提供身份认证.密钥更新.数据校验.通道复用等功能,同时具有良好的可扩展性.本文从SSH的架构开始 ...
- mac下实现代码远程同步
近期将办公电脑从windows换成了mac,以前一直用windows,在windows下面将代码同步到远程的开发机,zend studio有一些内置的工具,但mac下的zend stduio没有了这个 ...
- 15.Git四种协议-本地协议(local)、HTTP协议、SSH协议、Git协议
1.本地协议(loacl) 最基本的协议,其远程仓库其实就是硬盘内部的一个目录(例如D:\\project).常见于团队内的人对一个共享的文件系统(例如NFS)具有访问权限,或者多人共用一台电脑的情况 ...
- SSH方式连接Git服务器需要注意的地方
如何安装Git?这个我这里就不再多说了,想要了解的可以自行百度,以下文字是基于本地Git安装OK,且Git服务器可用的情况下,我的Git是GitLab 接下来开始操作 1:首先在本地生成私钥和公钥,这 ...
- 在linux下和Mac下如何实现快捷方式连接SSH远程服务器
其实特别简单 在本地命令执行目录/usr/local/bin 下新建一个shell脚本 比如 #vim ssh1 写入要执行的内容连接SSH #!/usr/bin/expect -f set user ...
- win下使用git-bash工具进行ssh免密登录服务器
1.ssh-keygen.exe 生成公钥私钥(.pub) 2.ssh-agent.exe bash 指定工具 3.ssh-add.exe **** 添加私钥 OK
随机推荐
- 电脑中dll文件丢失怎么恢复?
DLL文件是Windows系统中的动态链接文件,我们在运行程序时都必须链接到dll文件,如果缺少了则无法正常运行,相信大家都会遇到dll文件缺失的情况,那么电脑中dll文件丢失怎么恢复?下面装机之家分 ...
- linux dns子域授权 split分离解析 缓存dns服务器
DNS子域授权作用:适用于同一个DNS组织父/子域名的解析工作由不同的dns服务器负责父dns服务器应该有为子域名迭代的能力 上下级区域属于不同的机构管理:.cn与.Anonymous.cn.cn需要 ...
- ORACLE 中NUMBER类型默认的精度和Scale问题
在ORACLE数据库中,NUMBER(P,S)是最常见的数字类型,可以存放数据范围为10^-130~10^126(不包含此值),需要1~22字节(BYTE)不等的存储空间.P 是Precison的英文 ...
- Linux忘记开机密码怎么办?
Linux忘记开机密码怎么办?1. 开机ESC/Shift,在出现grub画面时,用上下键选中你平时启动linux的那一项,然后按e键2. 再次用上下键选中你平时启动linux的那一项(类似于kern ...
- linux2.6硬盘扇区直接读写程序
下面的程序可以在linux2.6内核直接读写硬盘的指定扇区,也是根据网上一个朋友的做法做了修改的: 有两个不是很明白的地方就是:1.bd_claim函数的使用,这个是个递归函数,像是匹配内存指针和设备 ...
- span是没有value标签的,要向获得标签内部的值改怎么办。
1,js实现 var div = document.getElementById('divId');var spans = div.getElementsByTagName('span');var s ...
- json格式数据整理
一,json的两种数据结构 1.1,对象 对象结构以"{"大括号开始,以"}"大括号结束.中间部分由0或多个以","分隔的"key ...
- halcon 模板匹配(最简单)
模板匹配是机器视觉工业现场中较为常用的一种方法,常用于定位,就是通过算法,在新的图像中找到模板图像的位置.例如以下两个图像. 这种模板匹配是最基本的模板匹配.其特点只是存在平移旋转,不存在尺度变化 ...
- springboot集成Actuator
Actuator监控端点,主要用来监控与管理. 原生端点主要分为三大类:应用配置类.度量指标类.操作控制类. 应用配置类:获取应用程序中加载的配置.环境变量.自动化配置报告等与SpringBoot应用 ...
- js常见排序
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...