github/gitlab(内网) 管理多个ssh key解决报错问题
在github下成功配置后在gitlab(内网服务器)下一直不成功,这里写一下解决策略
git配置多个ssh key
普通安装
添加第一个ssh key
首先绑定用户就不提了,绑定完之后生成ssh key
$ ssh-keygen -t rsa -C "youremail@yourcompany.com"
生成后会在 ~/.ssh/ 目录下生成 id_rsa 和 id_rsa.pub 两个文件,id_rsa是私钥不能给别人看, id_rsa.pub是公钥
绑定github(gitlab)
打开id_rsa.pub,将其内容复制
然后打开github(gitlab)网站,进入setting(设置),找到ssh相关设置,添加新的ssh key,将其内容添加进去
测试
将github.com改成相应的网址即使
$ ssh -T git@github.com
配置文件
普通的教程到上面就结束了,我绑定github也非常的正常,但绑定实验室内网的gitlab却一直失败,最后使用配置文件成功
首先打开~/.ssh/ 目录,里面会有一个config文件(没有就创建一个,没有任何后缀),将其打开,进行编辑
# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 666
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
Port 443
首先通过这个文件可以配置不同的账户,将Host和HostName改成相应的内网域名即可,IdentityFile 用来在不同网站使用不同的ssh key,最后是端口,弄了半天才知道内网的服务器端口不是经常用的443或者22,而是别的端口,大家在使用的时候一定要问清楚