今天整理下以前在配置git过程中的SSH-Key共存的方法
git的入门学习
推荐廖雪峰的网站: http://www.liaoxuefeng.com
关于多个SSH Key的共存
在使用git过程中,会遇到配置多个ssh-key的共存情况,比如一个连接公司的git,一个用来连接github,或者两个github账户。这里以github和oschina两个ssh-key共存举例。
首先配置github,生成ssh-key
1 | ssh-keygen -t rsa -C “aaa@gmail.com” -f ~/.ssh/github_id_rsa |
过程中会要求设置密码,直接回车为空就可以了,此时会生成两个文件githubidrsa和githubidrsa.pub 为了方便区分多个ssh-key,这里我们指定名为githubidrsa,如果不指定会按照生成默认的idrsa
添加SSH agent
1 | ssh-add ~/.ssh/github_id_rsa |
由于在默认情况下,SSH agent只会去读取id_rsa,为了使新生成的github_id_rsa能被SSH agent读取,将github_id_rsa添加到SSH agent
ssh-key粘贴到github上
1 | vim ~/.ssh/github_id_rsa.pub |
可以查看生成的ssh-key,将ssh-key粘贴到github上,并用相同的方法生成oschina的ssh-key,并粘贴到oschina上
ssh共存配置
1 | sudo vim ~/.ssh/config |
为了让两个ssh-key共存,在/.ssh下生成一个config文件,通过config文件指定不同的私钥对应的不同git服务器
1 | #GitHub(aaa@gmail.com) |
检查配置是否起作用
1 | ssh -T github.com |
过程中会问你是否添加到knownhosts,yes即可,会在.ssh目录下生成一个known_hosts文件
git config 配置
需要注意一点的是,git服务一般会根据配置文件的user.name和user.email来获取作者信息(比如上面的github的aaa@gmail.com和oschina的bbb@gmail.com),如果多账户信息不同的话,需要注意在使用前修改配置。
1 | #查看配置信息 |