windows下生成多个ssh
windows下生成多个ssh
一般来说,一台电脑默认只有一个私钥 id_rsa 和公钥 id_rsa.pub 。当我们需要在一台电脑上操作不同的 github 账号(或 gitlab、gitee、coding)就需要多个对应的ssh key,因为一个 github 账号只能建一个与账号名相同的仓库。
ssh是什么
ssh是Secure Shell(安全外壳协议)的缩写,建立在应用层和传输层基础上的安全协议。为了便于访问github,要生成ssh公钥,这样就不用每一次访问github都要输入用户名和密码。简单来说就是方便我们拉取推送代码。
生成条件
1.本地安装 Git ,未安装用户可以点击 Git官网 进行下载 2.注册需要配置 ssh平 台的账号(Github,Gitee,Gitlab,Coding)
生成步骤
1、检查系统是否有.ssh文件夹
windows系统下一般是在 C:\Users\Administrator 目录下,如果没有手动新建 .ssh 文件夹。

生成多个ssh key
在.ssh
文件夹内打开命令提示符,输入命令:ssh-keygen -t rsa -C "jitems"
引号中的内容是你在 github 上注册所使用的邮箱(也可以随便定义),点击确定

这里需要注意,该命令会默认生成为 id_rsa 的公钥和 id_rsa.pub 的私钥文件。为了防止后续生成别的 ssh 被覆盖,这里推荐手动修改文件名。如图,我这里修改为 id_jitems_rsa

继续回车确定,会提示你设置密码和再次输入密码。为了简化操作,这里不建议设置密码,直接回车确定。

再次回车确定,看到如下样式,就说明 ssh 生成成功了,在 .ssh 文件夹会下看到 id_jitems_rsa 文件和 id_jitems_rsa.pub 文件。

在使用上面同样的步骤,生成第二个ssh,输入命令:ssh-keygen -t rsa -C "head"

至此,配置多个的流程结束,目前文件如下:

配置config文件
在.ssh文件夹中手动创建config文件或者输入命令touch config
生成,并按下面的模板填写,该文件用于配置私钥对应的服务器。
Host github.com
HostName ssh.github.com # 这是最重要的部分
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_jitems_rsa
Host github.com
HostName ssh.github.com # 这是最重要的部分
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_head_rsa
配置说明:
- Host:自定义别名,会影响git相关命令
- HostName:真实的服务器地址(域名)
- User:之前配置的用户名可以省略(xxx@xxx.com)
- Port:请求端口,当默认的22访问超限时,可以换个端口再尝试获取代码
- PreferredAuthentications:权限认证(publickey,password publickey,keyboard-interactive)一般直接设为publickey
- IdentityFile:rsa文件地址