git同时连接gitlab和GitHub
一、git的ssh key的安装1、使用邮箱生成ssh密钥公司的GitLab生成一个SSH-Key在~/.ssh/目录会生成gitlab_id-rsa和gitlab_id-rsa.pub私钥和公钥。我们将gitlab_id-rsa.pub中的内容粘帖到公司GitLab服务器的SSH-key的配置中。ssh-keygen -t rsa -C "注册的gitlab邮箱" -f ~/.ssh/...
·
一、git的ssh key的安装
1、使用邮箱生成ssh密钥
公司的GitLab生成一个SSH-Key
在~/.ssh/目录会生成gitlab_id-rsa和gitlab_id-rsa.pub私钥和公钥。我们将gitlab_id-rsa.pub中的内容粘帖到公司GitLab服务器的SSH-key的配置中。
ssh-keygen -t rsa -C "注册的gitlab邮箱" -f ~/.ssh/gitlab_id-rsa
公网github生成一个SSH-Key
在~/.ssh/目录会生成github_id-rsa和github_id-rsa.pub私钥和公钥。我们将github_id-rsa.pub中的内容粘帖到github服务器的SSH-key的配置中。
ssh-keygen -t rsa -C "注册的github邮箱" -f ~/.ssh/github_id-rsa
三个回车即可
2、添加密钥到ssh
cd ~/.ssh
ls
新增了两个文件id_rsa id_rsa.pub
ssh-add gitlab_id-rsa
ssh-add github_id-rsa
3、gitlub上添加ssh密钥
cat gitlab_id-rsa.pub
cat github_id-rsa.pub
查看生成的密匙
二、添加config
在~/.ssh下添加config配置文件
cd ~/.ssh
touch config
添加内容如下:
#github key
Host github
Port 22
User git
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id-rsa
Host gitlab
Port 22
User git
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_id-rsa
测试
# 测试github
$ ssh -T git@github.com
# 测试gitlab
$ ssh -T git@gitlab.com
三、遇到的问题
github和gitlab都连接之后,gitlab连接成功,GitHub出现以下问题
然后再控制台下执行命令:
ssh -v git@github.com
最后两句会出现:
No more authentication methods to try.
Permission denied (publickey).
这时候再在控制台下输入:
ssh-agent -s
然后会提示类似的信息:
SSH_AUTH_SOCK=/tmp/ssh-GTpABX1a05qH/agent.404; export SSH_AUTH_SOCK;
SSH_AGENT_PID=13144; export SSH_AGENT_PID;
echo Agent pid 13144;
接着再输入:
ssh-add ~/.ssh/id_rsa
这时候应该会提示:
Identity added: ...(这里是一些ssh key文件路径的信息)
如果出现错误提示:
Could not open a connection to your authentication agent.
请执行:
eval `ssh-agent -s`
后继续执行命令
ssh-add ~/.ssh/id_rsa
这时候一般没问题啦。
进入GitHub账号下将key复制到Add Ssh key
验证key
ssh -T git@github.com
提示:Hi xxx! You’ve successfully authenticated, but GitHub does not provide shell access.
代表连接成功了。
四、配置仓库
假设gitlab与jgithub的工作目录分别如下所示:
github工作仓库:~/github
gitlab工作仓库:~/gitlab
则配置如下:
#gitlab
cd ~/gitlab
git init
git config --global user.name 'gitlab'
git config --global user.email 'gitlab@company.com'
#github
cd ~/github
git init
git config --local user.name 'github'
git config --local user.email 'github@163.com'
更多推荐
已为社区贡献2条内容
所有评论(0)