Polk
Polk

在沪务工的Polk、互拍👏👏👏

【技术】Mac版SourceTree管理多个SSH秘钥

(编辑过)

背景

在使用windows版本的sourceTress时,那是相当的完美,得益于它有个ssh管理插件,把所有相关的ssh秘钥填进去就可以。

缺点就是每次电脑重启了都得重新导入一下ssh秘钥,办公电脑基本从来不关的,所以一直这样使用的得心应手。

但是mac版本没有ssh插件,这很头大,一直通过https使用,但前不久github取消了https,棘手了。 今天测试了一下午,总算弄好了。

我来总结一下使用mac版的sourceTree管理ssh秘钥的三板斧

1、通过sourceTree的账户功能创建秘钥

因为它这个功能会在~/.ssh/下创建好文件,并且在~/.ssh/config文件配置基本格式,就像下面这样,对了,密码是可选的,别设了,徒增麻烦~

# --- Sourcetree Generated ---
Host GitHub
	HostName github.com
	User 用户名
	PreferredAuthentications publickey
	IdentityFile /Users/a/.ssh/私钥文件
	UseKeychain yes
	AddKeysToAgent yes
# ----------------------------
# --- Sourcetree Generated ---
Host GitLab
        HostName 公司gitLab的域名
        User 公司gitLab的用户名
        PreferredAuthentications publickey
        IdentityFile /Users/a/.ssh/私钥文件
        UseKeychain yes
        AddKeysToAgent yes
# ----------------------------

还有一点,就是创建账号功能,使用时输入的秘密是登录gitLab后的私钥,gitHub则可以通过OAuth验证

2、上传公钥到github

通过sourceTree的账户功能创建秘钥后保存会自动上传到gitHub,gitLab。如果失败也可以手动上传,上传~/.ssh/xxx.pub 文件。

3、拉代码输入yes

当前两步设置好了,注意域名要正确,我严重怀疑sourceTree去匹配ssh秘钥的时候是根据域名的,你的git仓库地址是什么,它就去找对应地址的ssh秘钥。

当通过sourceTree拉代码的时候,就会提示输入密码,我忘了截图,反正会弹出一个丑陋的提示框,大致意思需要github.com的密码,你可以试试常用的密码,如果不行,输入yes试试吧,反正我就这么通过了。。。有些翻译真会产生歧义,影响效率

突然发现不行了,漏了:
ssh-add -K ~/.ssh/公钥


CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…
加载中…

发布评论