1,生成一个SSH-Key
$ ssh-keygen -t rsa -C "youremail@yourcompany.com” -f ~/.ssh/id-rsa
在~/.ssh/目录会生成id-rsa和id-rsa.pub私钥和公钥。 我们将id-rsa.pub中的内容粘帖到公司gitlab服务器的SSH-key的配置中。
2,生成一个github用的SSH-Key
$ ssh-keygen -t rsa -C "youremail@your.com” -f ~/.ssh/github-rsa
在~/.ssh/目录会生成github-rsa和github-rsa.pub私钥和公钥。 我们将github-rsa.pub中的内容粘帖到github服务器的SSH-key的配置中。
3,添加私钥
<span style="color:#ffffff"><code>$ ssh-add ~/.ssh/id_rsa $ ssh-add ~/.ssh/github_rsa</code></span>
如果执行ssh-add时提示"Could not open a connection to your authentication agent",可以现执行命令:
http://www.zsythink.net/archives/2407
<span style="color:#ffffff"><code>$ ssh-agent bash
eval `ssh-agent` 单独启动一个代理进程
</code></span>
然后再运行ssh-add命令。
# 可以通过 ssh-add -l 来确私钥列表
$ ssh-add -l
# 可以通过 ssh-add -D 来清空私钥列表
$ ssh-add -D
4,修改配置文件
在 ~/.ssh 目录下新建一个config文件 (一定要在当前用户下,若在root文件下,则在root用户文件夹下)
<span style="color:#ffffff"><code>touch config</code></span>
添加内容:
# gitlab
Host gitlab.com
HostName gitlab.com
Port 22
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_rsa
5,目录结构
6,测试
<span style="color:#ffffff"><code>$ ssh -T git@github.com</code></span>
输出
Hi stefzhlg! You've successfully authenticated, but GitHub does not provide shell access.
就表示成功的连上github了.也可以试试链接公司的gitlab.