多账号登录采用ssh登录gitee、github的方法

多账号登录采用ssh登录gitee、github的方法

  • 生成ssh key
  • 本地配置多账号多服务名称
  • 服务器添加`SSH`公钥
  • 使用`git`拉取代码。

生成ssh key

在windows下,安装好gitbash之后就可以使用gitbash工具生成ssh公私钥了。生成的命令:

 ssh-keygen -t rsa -C "[email protected]"

操作如下图。
多账号登录采用ssh登录gitee、github的方法_第1张图片
然后就会生成两个文件(公钥和私钥)。

  • 例如上面操作就会生成两个文件id_rsa_m126(私钥)id_rsa_m126.pub
  • 最后将两个文件都放到目录~/.ssh/下。

本地配置多账号多服务名称

.ssh的配置文件为~/.ssh/config.
打开配置文件编辑配置文件,一个配置项目包括的项为:

  • Host 主机别名
  • HostName 真实的服务名
  • PreferredAuthentications 认证方式
  • IdentityFile 识别文件,对应私钥
    配置文件样例如下
#Default 第一个账号([email protected])
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 第三个账号([email protected])
Host LS
HostName gitee.com
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了。标题随便取就好了。
多账号登录采用ssh登录gitee、github的方法_第2张图片

使用git拉取代码。

这样配置之后不能采用默认的方式拉取代码了,这也是多账号能启动ssh拉取代码的关键。
例如在配置多账号之前拉取代码的方式为

git clone [email protected]: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.

你可能感兴趣的:(杂项,ssh,git,gitee,多账号)