多账号 SSH 管理多个 GitHub 项目(建议收藏)
0
SSH 连接
一开始我是用账号密码登陆管理 GitHub 项目的,但是推送代码时 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-keygen -t rsa -C "你的邮箱"
输入上面的命令创建第一个 SSH Key,然后无脑回车显示如下就是成功创建了:
此时目录下多了这两个文件:
复制 eid_rsa.pub
文件的内容,就是一大长串的字符,复制好之后打开我们的 GitHub。
找到想要管理项目的 Settings => Deploy => Add deploy key:
取好名字后把复制的公钥粘贴到大的文本框中,下面的允许读写勾上,点击绿色按钮,我们就成功给项目添加好了公钥。
2
创建第二个 SSH Key
在使用 Git 的过程中,一开始可能只需要管理一个项目,但总会开始第二个项目的,这时候我们就需要创建第二个 SSH Key 了。
操作和第一次类似,进入 C 盘下的 C:\Users\Administrator\.ssh 目录,打开 Git Bash。
运行 ssh-keygen -t rsa -C "你的邮箱"
,不过现在不能一路回车了。
我们需要给第二个 SSH Key 起一个别名,否则就会覆盖掉第一次的 SSH Key,取好别名之后再一路回车。
实际上,第一次创建 SSH Key 的时候我们最好就起个别名做区分,然后就和第一次一样把 .pub
后缀文件的内容复制到 GitHub 项目。
3
第一个项目 SSH 上传
打开我们的 GitHub 项目:
git push "git@github.com:msunh1997/Avatar.git" master
git 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 bash
ssh-add ~/.ssh/tx
ssh -T git@tx
验证一下,大功告成!
配合git remote add tx "tx:msunh1997/Avatar.git"
,命令就变得更简单了,完美!
git push tx master
git pull tx master
5
暂时没了
关于 GitHub 的使用写到这里先告一段落了,加上这篇共写了 3 篇,写的都是一些个人的使用经验,可能有些地方描述的不太准确或者有其他的方法,遇到问题解决问题就是了。
下一篇关于 GitHub 的文章等到我对 GitHub 有更多的认识和使用经验再总结。
多踩坑,分享即学习,我是玖柒后,奥利给~
推荐阅读:
“就等你点在看了,感谢转发关注”
能帮我开灯吗?