github gitoschina多个ssh key的使用

同个电脑多个ssh key的配置使用


引言:很多时候我们用代码管理服务器时的选择有很多,通常我们都会使用不止一个服务器账号的。比如我比较喜欢github的开源功能,但是它的私有项目是要钱的,所以我也用开源中国的gitoschina的服务器(因为它的private项目不要钱的哦!)


1、准备

用两个不同git服务提账号来实现,分别为github和开源中国的gitoschina的。

2、生成ssh key

1. 生成ssh key的命令我想大家都应该懂:

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

当我们回车时,我想有的人是直接三个回车的吧,当然三个回车是没有问题的,但是我们要了解这三个回车是什么意思。
第一个回车:

 Enter file in which to save the key 

此处的回车代表将密钥默认存储在C盘/Users/用户名/.ssh的文件夹下
第二个回车与第三个回车:

Enter passphrase:
Enter same passphrase again:

这个是为了设置提交项目的密码,为了避免其他人用你的电脑修改你的项目时提交的,通常直接回车,就代表不需要密码,我也建议这样做,可以避免多次输入密码,省时省力。

2、那我们该具体怎么做呢?

因为有两个账号,如果生成密钥时都是三个回车则后执行的会替换先执行的。既然第一个回车的意思是保存地址,那我们就不能直接回车了,而是输入保存地址就可以了。
步骤如下:
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

也就是将密钥保存在github文件夹下
github gitoschina多个ssh key的使用_第1张图片
这样生成密钥完成

3、创建config文件

1、创建文件并配置

C盘/Users/用户名/.ssh目录下新建config文件,该文件没有后缀名的,这是为了配置映射功能的,在里面填入下面代码:

#github的配置
Host github.com
    HostName github.com
    IdentityFile ~/.ssh/github/id_rsa
    User git

主要是HostNameIdentityFile要改,HostName是服务器域名,IdentityFile 就是密钥的地址了上面的就是刚刚我们新建github下的生成密钥,那个~符号代表当前目录,windows下默认就是C盘/Users/用户名,所以再加上后面的地址就是我们上面所写的C盘/Users/用户名/.ssh/github/id_rsa

2、当然这里面也可以写多个配置的:

#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

4、测试

1、测试github的:

ssh -t git@github.com

返回成功信息:

Hi youname! You've successfully authenticated, but Github does not provide shell access.

github测试成功
当然有的时候会问你是否授权连接,选y即可。

2、测试开源中国的gitoschina

ssh -T git@git.oschina.net

返回成功信息为:

Welcome to Git@OSC, yourname!

gitoschina成功
这样在项目中就可以用多个git服务器的ssh了。

你可能感兴趣的:(git)