首先,检查 github 的连接性,因为DNS污染的原因,很多机器ping不通github,就像博主的机器:
怎么解决DNS污染的问题,博主查了很多教程,测试出一个有效的方法,那就是修改hosts文件。hosts文件地址在:
C:\Windows\System32\drivers\etc
以文本格式打开hosts,最后添加:
140.82.113.4 github.com
需要注意github的IP地址可能会变,之前看到很多贴子里的Github的IP地址不是这个,推测Github会动态更换IP地址,Github网站真实IP地址要在 ipaddress 查询,确定无误再添加进hosts:
解决掉 github 连通性以后,开始生成SSH密钥,博主使用 Git Bash 客户端:
1. 进入 .ssh 文件夹
cd ~/.ssh
若出现下图报错,表示没有 .ssh 这个文件夹,那么需要我们自己来创建:
mkdir ~/.ssh
cd ~/.ssh
2. 生成SSH密钥对
ssh-keygen -t rsa -b 4096 -C "343882323@qq.com"
在生成密钥对时,你可以提供不同的文件名,以便区分不同的密钥。例如,可以将文件保存为 id_rsa_personal 。
3. 将新生成的SSH密钥添加到SSH代理
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa_personal # 替换为你实际的私钥文件路径
4. 创建或编辑SSH配置文件:
在你的 ~/.ssh/ 目录下,可以创建或编辑一个config文件。如果不存在,就创建一个。
touch ~/.ssh/config
5. 编辑SSH配置文件并添加主机别名和相应的SSH密钥:
# github account
Host github.com
HostName github.com
User github
IdentityFile ~/.ssh/id_rsa_personal
IdentityFile 设置为你实际的私钥文件路径。
6. 进入 github 后台配置SSH密钥
https://github.com/settings/keys
7. 验证Key
ssh -T git@github.com