转自 https://www.jianshu.com/p/717c9e482288
前言:
很多时候,我们一台机器上要使用多个Git库,比如 GitHub、GitLab、OSChina、CSDN、以及 自己公司的。那么 rsa就要有多份。那么该如何让这些共同存在呢?
原理就是:建立多个不同的rsa 然后 在ssh config中分别不同的配置。
操作步骤:
一、生成公钥和私钥(SSH Keys)
说明:SSH key 可以让你的电脑和 远程仓库 之间建立安全的加密连接,从而实现免密登录,能够在不输入Git密码的情况下,进行版本控制。
- 终端输入如下命令:
// 使用如下命令来生成 SSH Keys
ssh-keygen -t rsa -C "你的Git账号邮箱地址"
-
执行完这条命令之后, 会弹出如下提示:
Enter file in which to save the key (/Users/renbo/.ssh/id_rsa):文件名
在这句话后面可以自定义要生成的文件名(如:github_rsa、oschina_rsa、csdn_rsa等);如果不输入文件名,默认会生成id_rsa.pub
(公钥)、id_rsa
(私钥)
下一步... 不输入密码直接回车。 -
将公钥添加到网站
// 打开公钥文件,将公钥(`id_rsa.pub` 文件内容)添加到对应网站(如:GitHub / GitLab / OSChina / 自己公司的)上的SSH keys中。
open ~/.ssh/id_rsa.pub
二、修改 ssh config 配置文件
1.打开config文件
// 编辑config文件
vi ~/.ssh/config
2.添加如下内容
# 编写配置文件,支持多个账号自动登录
# 配置GitLab,公司账号1:
Host git-server
HostName 192.168.68.85
Port 22
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/work1_rsa
# 配置GitLab,公司账号2:
Host git-server
HostName 192.168.75.30
Port 22
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/work2_rsa
# 配置GitHub
Host github.com
HostName github.com
User borenfocus@gmail.com
IdentityFile ~/.ssh/github_rsa
# 配置oschina (旧主机名是:git.oschina.net)
Host gitee.com
HostName gitee.com
User borenfocus@gmail.com
IdentityFile ~/.ssh/oschina_rsa
# 配置CSDN
Host code.csdn.net
HostName code.csdn.net
User 你的名字
IdentityFile ~/.ssh/csdn_rsa
三、删除本地全局设置
如果之前使用过程中使用过git config --global user.name "" 或者 git config --global user.email 命令,git会在本地产生一个.gitconfig文件,这个文件中保存了全局的git帐号信息,应该删除掉。
网友评论