Git 多环境密钥配置

前言

平时总是在gitee、github和自己搭建的代码仓库中,来回切换工作环境,为了安全性,在不同的环境用的密钥也不同,所以就出现了多环境密钥配置的问题

以 gitee 和 github为例

首先创建 ssh-keygen创建密钥对

ssh-keygen -t ed25519 -b 4096 -C "描述信息,一般为邮箱"
 -t 选项(默认 `rsa`)

生成的密钥类型(不带默认为 rsa),类型有四种分别是 dsa | ecdsa | ed25519 | rsa

-b 选项

表示生成的密钥的大小(以字节:byte 为单位)
在生成时如果指定的 key size 太小也会有安全的问题,建议指定 key size 为 2048 或更大

-C 选项

生成密钥的描述信息。(会追加到公钥.pub 内容的末尾)

-f 选项

文件名称,或者文件路径。

-N 选项

指定新密码,'' 表示密码为空。

-q 选项

静默模式,直接生成密钥对,不现实过程中产生的信息。

生成密钥对后,默认位置为C:\Users\用户名\.ssh 文件夹中

如果以前没有配置过密钥对,这里一般有四个文件
know_hosts
config
一个公钥文件
一个私钥文件
后缀为pub的是公钥,另一个是私钥

打开公钥,复制文本内容,到gitee、github中配置

打开 config文件,编辑如下配置

# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_ed25519

`### 这里可以配置 端口 port,默认端口22,Host 为 github.com;端口443,Host 为 ssh.github.com

# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_ed25519

上面的内容,大概意思就是主机地址为gitee的时候,用gitee的密钥对;github的时候,用github配置的密钥对。 IdentityFile 是指定私钥文件

常见问题

1. 使用 ssh -T git@github.com,提示:connect to host github.com port 22 : xxxxx

# 首先,遇到问题先查看详情
//详细连接过程,-v表示verbose 
ssh -vT git@github.com

1.1 检查 ./ssh 下 秘钥文件是否存在
1.2 检查 ./ssh 下 config 文件是否配置
1.3 检查 C:\Windows\System32\drivers\etc\hosts 中,是否配置 github 映射地址:
使用域名查询工具查询IP(如IpAddress),然后将查询到的IP添加到 hosts 中
在这里插入图片描述

1.4 如果还有问题,可以 cmd命令查看是否能够ping通;ping不同则可能是DNS污染或者代理没有开启,换个网络环境再试试。

# 使用 nslookup查看IP
nslookup github.com

ping github.com
  • 14
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值