一、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'
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐