git 配置多个SSH-Key 已经各种坑

  • 前言
一个是平时在用的github,一个是公司的gitlab。当这两个在一起的时候,那么问题就来。
  • 目录
1. 配置多个 SSH
2. 在配置过程中遇到坑
  • 配置多个 SSH
    • 先来配置 github
      • 首先执行命令 进入到ssh目录
       cd ~/.ssh
      

如果你以前没有配置过,是没有文件的
下面执行命令生成 github ssh

ssh-keygen -t rsa -C "yourmail@gmail.com"

这里需要注意的是在第一个回车之后需要定义 公私钥的名字,如果你一直回车。那么公私钥用的就会是默认的名字。这里建议还是自己命名,防止多个ssh出现重名覆盖的问题。然后,第二个回车就是你输入你自己的电脑权限密码了,第三个回车会要求你输入上面相同的密码。然后下面一直回车就可以了。把生成的公钥(带有.pub后缀)的文件加到github上。
同样的方法,执行命令生成gitlab的SSH

ssh-keygen -t rsa -C "yourmail@gmail.com"
  • 添加私钥

ssh-agent
ssh-add ~/.ssh/id_rsa_github
ssh-add ~/.ssh/id_rsa_gitlab
```

  • 创建配置文件 config
touch config

把下面的内容拷贝上去

Host github.com。            // GitHub.com 主机的名字
Hostname github.com      // github.com  主机的域名或者地址
User email                         // email   你的邮箱地址
IdentityFile ~/.ssh/id_rsa_github

Host gitlab.com 
HostName gitlab.com  
User  email  
IdentityFile ~/.ssh/id_rsa_gitlab  
  • 测试是否连接成功
ssh -T git@github.com
ssh -T git@gitlab.com
出现如下信息表示ok的
You've successfully authenticated!
  • debug 连接信息
如果,上面没有连接成功这就需要你自己debug信息看看哪里出问题了,一般的问题就是在config里面
ssh -Tv git@github.com
ssh -Tv git@gitlab.com
  • 我在设置 多个SSH时候出现的问题
    • 网址可以访问,但是一直ping 不通。一直以为是SSH的问题,也是一个奇葩的问题。最后,想起了以前把hosts改动了。这就去查看,删掉了github的一切配置,竟然就ping 通了!!!

推荐阅读更多精彩内容