多个 ssh 可以 的管理
1)一台机器多个 SSH KEY 的管理
应用场景:我希望在一台电脑上用两个账户,分别跟公司的 gitlab 协作,以及跟个人的 github 协作
解决方案:
生成新的ssh key并命名为second
ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/second此时
~/.ssh目录,会发现多了second公钥和私钥id_rsa id_rsa.pub known_hosts list.txt second second.pub
远程主机添加公钥
在
~/.ssh/目录下新建 config 文件,用于配置各个公私钥对应的主机# Default github user([email protected]) 默认配置,一般可以省略 Host github.com Hostname github.com User git Identityfile ~/.ssh/github # second user([email protected]) 给一个新的 Host 称呼 Host second.github.com // 主机名字,不能重名 HostName github.com // 主机所在域名或IP User git // 用户名称 IdentityFile C:/Users/username/.ssh/id_rsa_second // 私钥路径注意:
- 每个邮箱能配置一个公私钥,邮箱是一个重要的身份识别标志
- 几个主机的命名不能相同;
- 私钥路径也可以写为 ~/.ssh/...;
- 如有需要还可以添加Port:xxxx端口配置。
测试连接情况
$ ssh -T [email protected]开始使用
场景 1:使用新的公私钥进行克隆项目
git clone git@second.github.com:username/repo.git
注意此时要把原来的github.com配置成你定义的second.github.com
- 场景 2:在此之前已经克隆项目,之后才添加新的公私钥,要为仓库设置使用新的公私钥进行 push 操作
修改仓库的配置文件:
.git/config为[remote "origin"] url = [email protected]:itmyline/blog.git
2)一个 github 账户管理多个 ssh key
应用场景:我有两个电脑,分别有两个ssh key 希望向同一个平台协作
解决方案:
GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。