在日常工作中公司会用到 gitlab 托管代码,但是自己的一些项目会放到 github 上,这时就需要为每个托管平台设置 ssh key。下面是具体操作:
1. 生成 ssh-key
进入到.ssh 目录下,输入以下命令生成 ssh-key,your_email@example.com 填入自己的邮箱
ssh-keygen -t rsa -C “your_email@example.com”
此时第一次输入的文件名,如果直接按回车会自动生成私钥和公钥:id_rsa、id_rsa.pub;第二次和第三次是密码和确认密码,此时直接回车即可。
2. 将 ssh-key 添加到 ssh agent
ssh-add 私钥文件名
如果执行 ssh-add 时提示”Could not open a connection to your authentication agent”可以先执行命令:
ssh-agent bash
然后在重新运行 ssh-add 命令
3. 修改配置文件
将不同的账号对应的不同的 ssh key 和不同的远程服务器关联起来,这个配置是在 config 下配置的 (如果没有 config 可以自己新建)
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_a
Host git.gitlab.net
HostName git.gitlab.net
User git
IdentityFile ~/.ssh/id_rsa_gitlab
其中,Host 和 HostName 填写 git 服务器的域名。IdentityFile 指定私钥的路径。未加入配置文件的网站会自动应用 id_rsa
4. 将 id_rsa.pub 上传到 GitHub 或 GitLab 上
测试下是否成功
ssh -T git@gitlab.com
出现 welcome to gitlab!就代表连接成功了
现在你的多个 ssh key 就可以使用了