小哥_没有时间了 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_rsaHost 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_*)