1. 前置条件
2. 步骤 整体思路:针对不同HOST
,使用不同公钥
2.1 生成不同秘钥 git bash
打开命令行窗口,执行以下命令
1 2 3 4 # 生成github账号的秘钥 $ ssh-keygen -t rsa -f ~/.ssh/id_rsa_github -C "GithubAccount" # 生产gitlab账号的秘钥 $ ssh-keygen -t rsa -f ~/.ssh/id_rsa_gitlab -C "GitlabAccount"
2.2 修改config配置文件 2.2.1 切换至~/.ssh目录
2.2.2 修改配置文件
1 2 3 4 5 6 7 8 9 10 11 # gitlab # Host 与 HostName 需要相同 Host gitlab.com HostName gitlab.com # 指定rsa秘钥文件 IdentityFile ~/.ssh/id_rsa_gitlab # github Host github.com HostName github.com IdentityFile ~/.ssh/id_rsa_github
注意: Host
取代码托管平台的地址,如果是局域网的gitlab地址,请使用局域网地址,下文中测试的指令也需要同步修改
2.3 在github和gitlab上添加个人公钥 以github为例
2.3.1 登录github账号,并进入设置
2.3.2 进入公钥配置
2.3.3 添加公钥
因为配置的是github账号,所以复制~/.ssh/id_rsa_github.pub
中的内容到上图的Key
中
2.4 测试 1 2 3 4 5 6 # github测试 $ ssh -T git@github.com Hi GithubAccount! You've successfully authenticated, but GitHub does not provide shell access.# gitlab测试 $ ssh -T git@gitlab.com Hi GitlabAccount!