多账号登录采用ssh登录gitee、github的方法
生成ssh key
在windows下,安装好gitbash 之后就可以使用gitbash 工具生成ssh公私钥了。生成的命令:
ssh-keygen -t rsa -C "xiaomaonn@126.com"
操作如下图。 然后就会生成两个文件(公钥和私钥)。
- 例如上面操作就会生成两个文件
id_rsa_m126 (私钥)id_rsa_m126.pub 。 - 最后将两个文件都放到目录
~/.ssh/ 下。
本地配置多账号多服务名称
.ssh 的配置文件为~/.ssh/config . 打开配置文件编辑配置文件,一个配置项目包括的项为:
Host 主机别名HostName 真实的服务名PreferredAuthentications 认证方式IdentityFile 识别文件,对应私钥 配置文件样例如下
#Default 第一个账号(xiaomaonn@126.com)
Host M126
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_m126
#second 第二个账号(scmky123)
Host SCMKY
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_513269869
#second 第三个账号(38894403@xxxx.com)
Host LS
HostName gitee.comd
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_liangshan
服务器添加SSH 公钥
在服务器上配置的是公钥信息,我经常使用的git 服务器是gitee.com 。 所以也就只讲配置gitee 的方法了。github应该也是一样的。 采用账号登录gitee 网页之后访问[https://gitee.com/profile/sshkeys],采用文本工具打开~/.ssh/id_rsa_m126.pub 中保存的公钥内容填到公钥文本框里面,点击就OK了。标题随便取就好了。
使用git 拉取代码。
这样配置之后不能采用默认的方式拉取代码了,这也是多账号能启动ssh 拉取代码的关键。 例如在配置多账号之前拉取代码的方式为
git clone git@gitee.com:xiaomaonn/demo.git
这里拉取的时候使用的是gitee 原始的hostname 类似于我们~/.ssh/config 配置文件下的HostName 信息。但是多账号之后我们为每个账号+git服务 取了一个别名Host , 所以我们要将ssh 服务地址HostName 换成别名Host 。所以更改后的拉取代码的方式为:
git clone git@M126:xiaomaonn/java.git
同理关联远程仓库地址的方式:
git remote set-url origin git@M126:xiaomaonn/java.git
关键的点就是将HostName 替换成Host .
|