vlambda博客
学习文章列表

多账号 SSH 管理多个 GitHub 项目(建议收藏)

我又双叒叕来迟了,这篇文章介绍如何用 SSH 管理多个 GitHub 项目

0

SSH 连接


一开始我是用账号密码登陆管理 GitHub 项目的,但是推送代码时 GitHub 要保证推送代码的用户是否合法,时不时就要重新输入密码确认,说实在的,密码那么多,时间一久,真记不得!(我可是连银行密码都忘过好几次了)

多账号 SSH 管理多个 GitHub 项目(建议收藏)


虽然我都用 Google 浏览器保存了,但着实懒得翻,太麻烦,我就不信你们都能记得住那么多密码


后来就改用了 SSH 管理,不得不说,舒(su)服。


SSH 是一种传输模式,具体的就不细说了。


我们在电脑上生成一个唯一的 SSH 公钥和私钥,把公钥上传 GitHub上面,当你推送的时候,Git 就会检测本地的私钥是否跟 GitHub 上的公钥配对,匹配成功才允许 push、pull


本地的私钥别人无法截获,SSH 传输可以保证几乎每次传输都是安全的,虽然还是有攻击方法,但对我们平时 push、pull 代码几乎是没有影响的。


1

生成 SSH


首先进入 C 盘下的 C:\Users\Administrator\.ssh 目录,打开 Git Bash,用 cmd 进入这个目录也行。

多账号 SSH 管理多个 GitHub 项目(建议收藏)

ssh-keygen -t rsa -C "你的邮箱"

输入上面的命令创建第一个 SSH Key,然后无脑回车显示如下就是成功创建了:

多账号 SSH 管理多个 GitHub 项目(建议收藏)

此时目录下多了这两个文件:

多账号 SSH 管理多个 GitHub 项目(建议收藏)

复制 eid_rsa.pub 文件的内容,就是一大长串的字符,复制好之后打开我们的 GitHub。

多账号 SSH 管理多个 GitHub 项目(建议收藏)

找到想要管理项目的 Settings => Deploy => Add deploy key:

多账号 SSH 管理多个 GitHub 项目(建议收藏)

取好名字后把复制的公钥粘贴到大的文本框中,下面的允许读写勾上,点击绿色按钮,我们就成功给项目添加好了公钥。


2

创建第二个 SSH Key


在使用 Git 的过程中,一开始可能只需要管理一个项目,但总会开始第二个项目的,这时候我们就需要创建第二个 SSH Key 了。


操作和第一次类似,进入 C 盘下的 C:\Users\Administrator\.ssh 目录,打开 Git Bash。


运行 ssh-keygen -t rsa -C "你的邮箱" ,不过现在不能一路回车了。

多账号 SSH 管理多个 GitHub 项目(建议收藏)

我们需要给第二个 SSH Key 起一个别名,否则就会覆盖掉第一次的 SSH Key,取好别名之后再一路回车。


实际上,第一次创建 SSH Key 的时候我们最好就起个别名做区分,然后就和第一次一样把 .pub 后缀文件的内容复制到 GitHub 项目。


3

第一个项目 SSH 上传


打开我们的 GitHub 项目:

多账号 SSH 管理多个 GitHub 项目(建议收藏)

多账号 SSH 管理多个 GitHub 项目(建议收藏)

git push "git@github.com:msunh1997/Avatar.git" mastergit pull "git@github.com:msunh1997/Avatar.git" master

麻麻再也不用担心我忘记 GitHub 的密码了~


4

后续的 SSH 上传


第一个比较简单,多个项目使用 SSH 就要多进行几个步骤了。


同样,进入 C 盘下的 C:\Users\Administrator\.ssh 目录,找到 config 文件,用编辑器打开,没有的话就新建一个,默认内容是这样的:

Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa

这是 SSH 的配置文件,使用 SSH 传输时会从上至下读取 config 的内容,在每个 Host 下寻找对应的私钥。


Host tx HostName github.com User git IdentityFile ~/.ssh/tx

[email protected]:msunh1997/Avatar.git

现在就变成了:tx:msunh1997/Avatar.git 


最后一个步骤,打开 Git Bash,执行这两条命令把新的私钥添加到 SSH agent 中。

ssh-agent bashssh-add ~/.ssh/tx

ssh -T git@tx 验证一下,大功告成!

多账号 SSH 管理多个 GitHub 项目(建议收藏)

配合git remote add tx "tx:msunh1997/Avatar.git",命令就变得更简单了,完美!

git push tx mastergit pull tx master


5

暂时没了


关于 GitHub 的使用写到这里先告一段落了,加上这篇共写了 3 篇,写的都是一些个人的使用经验,可能有些地方描述的不太准确或者有其他的方法,遇到问题解决问题就是了。


下一篇关于 GitHub 的文章等到我对 GitHub 有更多的认识和使用经验再总结。


多踩坑,分享即学习,我是玖柒后,奥利给~



推荐阅读:



 

多账号 SSH 管理多个 GitHub 项目(建议收藏)

“就等你点在看了,感谢转发关注


能帮我开灯吗?