Git配置多个SSH-Key

Git配置多个SSH-Key

gitee官方文档配置有毒

以下为官方配置

背景

当有多个git账号时,比如:

a. 一个gitee,用于公司内部的工作开发;
b. 一个github,用于自己进行一些开发活动;

解决方法

  1. 生成一个公司用的SSH-Key
$ ssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/gitee_id_rsa
  1. 生成一个github用的SSH-Key
$ ssh-keygen -t rsa -C 'xxxxx@qq.com' -f ~/.ssh/github_id_rsa
  1. 在 ~/.ssh 目录下新建一个config文件,添加如下内容(其中Host和HostName填写git服务器的域名,IdentityFile指定私钥的路径)
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa
  1. 用ssh命令分别测试
$ ssh -T git@gitee.com
$ ssh -T git@github.com

问题

逐步按照教程配置会出现问题

git@gitee.com: Permission denied (publickey).

生成公钥直接复制到gitee或githubs上这中间缺少一步

添加id_rsa

ssh-add ~/.ssh/id_rsa

然后惊喜地发现再次出现问题

Could not open a connection to your authentication agent

需要在命令前再加一句

ssh-agent bash
ssh-add ~/.ssh/id_rsa

完结撒花

上一篇:SSH 远程执行任务


下一篇:VSCode Remote SSH远程连接失败