引言:很多时候我们用代码管理服务器时的选择有很多,通常我们都会使用不止一个服务器账号的。比如我比较喜欢github的开源功能,但是它的私有项目是要钱的,所以我也用开源中国的gitoschina的服务器(因为它的private项目不要钱的哦!)
用两个不同git服务提账号来实现,分别为github和开源中国的gitoschina的。
ssh-keygen -t rsa -C "[email protected]"
当我们回车时,我想有的人是直接三个回车的吧,当然三个回车是没有问题的,但是我们要了解这三个回车是什么意思。
第一个回车:
Enter file in which to save the key
此处的回车代表将密钥默认存储在C盘/Users/用户名/.ssh的文件夹下
第二个回车与第三个回车:
Enter passphrase:
Enter same passphrase again:
这个是为了设置提交项目的密码,为了避免其他人用你的电脑修改你的项目时提交的,通常直接回车,就代表不需要密码,我也建议这样做,可以避免多次输入密码,省时省力。
因为有两个账号,如果生成密钥时都是三个回车则后执行的会替换先执行的。既然第一个回车的意思是保存地址,那我们就不能直接回车了,而是输入保存地址就可以了。
步骤如下:
1. 正常生成第一个密钥
ssh-keygen -t rsa -C "[email protected]"
连续三个回车,将oschina的密钥默认保存
2. 生成第二个密钥
先打开C盘/Users/用户名/.ssh目录,在里面新建github文件夹
ssh-keygen -t rsa -C "[email protected]"
出现Enter file in which to save the key
时输入
/c/Users/用户名/.ssh/github/id_rsa
在C盘/Users/用户名/.ssh目录下新建config文件,该文件没有后缀名的,这是为了配置映射功能的,在里面填入下面代码:
#github的配置
Host github.com
HostName github.com
IdentityFile ~/.ssh/github/id_rsa
User git
主要是HostName和IdentityFile要改,HostName是服务器域名,IdentityFile 就是密钥的地址了上面的就是刚刚我们新建github下的生成密钥,那个~符号代表当前目录,windows下默认就是C盘/Users/用户名,所以再加上后面的地址就是我们上面所写的C盘/Users/用户名/.ssh/github/id_rsa
#github配置
Host github.com
HostName github.com
IdentityFile ~/.ssh/github/id_rsa
User git
#gitoschina的配置
Host git.oschina.net
HostName git.oschina.net
IdentityFile ~/.ssh/id_rsa
User git
ssh -t git@github.com
返回成功信息:
Hi youname! You've successfully authenticated, but Github does not provide shell access.
ssh -T git@git.oschina.net
返回成功信息为:
Welcome to Git@OSC, yourname!