您的位置:首页 > 其它

git生成公钥

2017-08-10 00:21 337 查看


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,添加私钥

$ ssh-add ~/.ssh/id_rsa $ ssh-add ~/.ssh/github_rsa
[/code]

如果执行ssh-add时提示"Could not open a connection to your authentication agent",可以现执行命令:
$ ssh-agent bash
[/code]

然后再运行ssh-add命令。
# 可以通过 ssh-add -l 来确私钥列表
$ ssh-add -l
# 可以通过 ssh-add -D 来清空私钥列表
$ ssh-add -D


 

 


4,修改配置文件

在 ~/.ssh 目录下新建一个config文件
touch config
[/code]

添加内容:
# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_rsa



5,目录结构




6,测试

$ ssh -T git@github.com
[/code]

输出

Hi stefzhlg! You've successfully authenticated, but GitHub does not provide shell access.

就表示成功的连上github了.也可以试试链接公司的gitlab.

其实这个config文件夹的作用还不是太清楚,连接码云的时候直接添加公钥进去就行了,然后上一家公司却配置了外网和内网的config文件

借鉴文章
http://www.jianshu.com/p/f7f4142a1556 https://my.oschina.net/stefanzhlg/blog/529403 http://blog.csdn.net/u012365926/article/details/52293036 https://segmentfault.com/a/1190000002627706 http://www.cnblogs.com/qingguo/p/5686247.html
我记得当时在开发的时候公司配置了内网外网 config文件 我自己还生成了一对id_rsa连接github了的

一个公钥应该是可以在多个位置使用的,比如公司git上,和你自己的github上,码云上,但是如果在github上用多个账号添加同一个公钥就会提示已经存在
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git生成多个秘钥