Git多帐号配置,同一电脑多个ssh-key的管理

为何有这种需求?

在咱们开发过程当中,可能会遇到使用同一台机器,既要向公司git服务器提交代码,也要向gitlib或者gitee等
git仓库提交代码,2个仓库设置的用户名信息,不同,此时须要用到多个ssh-key管理.主要包含如下几个步骤.git

生成对应的私钥公钥

1. 生成github.com对应的私钥公钥github

ssh-keygen -t rsa -C xxx@126.com

**2. 一样的方式生产git.oschina.net的私钥公钥shell

ssh-keygen -t rsa -C xxx@163.com
把上面获得的文件拷贝到git默认访问的.ssh目录(默认就存在当前登陆用户文件夹.ssh目录)

如图所示
bash

把github对应的公钥和oschina对应的公钥上传到服务器
在.ssh目录建立config文本文件并完成相关配置(最核心的地方)

每一个帐号单独配置一个Host,每一个Host要取一个别名,每一个Host主要配置HostName和IdentityFile两个属性便可服务器

Host的名字能够取为本身喜欢的名字,不过这个会影响git相关命令,例如:
Host mygithub 这样定义的话,命令以下,即git@后面紧跟的名字改成mygithub
git clone git@mygithub:cary/sample.gitssh

HostName           这个是真实的域名地址
IdentityFile          这里是id_rsa的地址
PreferredAuthentications   配置登陆时用什么权限认证--可设为publickey,password publickey,keyboard-interactive等
User            配置使用用户名

** config文件配置以下:**ide

#gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_self
User cary

#github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_self
User cary
打开Git Bash客户端(管理员身份运行)执行测试命令测试是否配置成功(会自动在.ssh目录生成known_hosts文件把私钥配置进去)

**使用ssh -T 校验测试

ssh -T git@gitee.com
若是成功会显示以下:
Hi cary! You've successfully authenticated, but GITEE.COM does not provide shell access.
相关文章
相关标签/搜索