多个Git帐号的SSH key切换(不同网站的gitlab&github)


小哥_没有时间了 2020-03-03 11:16:36 737 收藏 1

分类专栏: 项目管理Git 文章标签: github git

版权

首先不同网站,可以使用同一个邮箱,比如我的 github,gitlab,bitbucket的账号都是gotodiscuss[at]gmail.com 这时候不用担心密钥的问题,因为这些网站push pull 认证的唯一性的是邮箱 比如我的windows 上 2个账号一个gitlab 一个github (用的都是id_rsa)

一、生成并添加第一个ssh key

$ ssh-keygen -t rsa -C "youremail@xxx.com"

在Git Bash中执行命令一路回车,会在~/.ssh/目录下生成id_rsa和id_rsa.pub两个文件

添加SSH KEY,在settings里面添加ssh密钥,key里面填写id_rsa.pub里面的内容

不明白的请参考GitHub创建SSH Keys

二、生成并添加第二个ssh key

$ ssh-keygen -t rsa -C "youremail@xxx.com"

这次不要一路回车了,给这个文件起一个名字 比如my_github,不然默认的话就覆盖了之前生成的第一个

或者直接使用下面命令,直接生成 my_github  的密钥

$ ssh-keygen -t rsa -C "752967458@qq.com" -f my_github

假如起名叫my_github目录结构如下:

三、在.ssh/下创建config文件 内容如下:

Host gitlab.inodes.cn
HostName gitlab.inodes.cn
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa

Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/my_github

config基本写法:

Host myhost(这里是自定义的host简称,以后连接远程服务器就可以用命令ssh myhost)[注意下面有缩进]
User 登录用户名(如:git)
HostName 主机名可用ip也可以是域名(如:github.com或者bitbucket.org)
Port 服务器open-ssh端口(默认:22,默认时一般不写此行)
IdentityFile 证书文件路径(如~/.ssh/id_rsa_*)

posted on 2021-04-22 10:27  katago  阅读(412)  评论(0编辑  收藏  举报