问题:
今天使用 Git 向 github 远程仓库推送代码的时候出现错误:
ssh: Could not resolve hostname github.com: No address associated with hostname
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
问题分析:
google 了一下发现可能需要重新生成并配置 ssh key
解决办法:
1、在 git bash 中输入以下命令,查看 git 配置的用户名和邮箱
git config user.name
# 回车
git config user.email
2、输入命令 ssh-keygen -t rsa -C "17606xxxxx@qq.com" 生成 ssh key,其中""内是您的邮箱
注意: 如果提示 /c/Users/xx/.ssh/id_rsa already exists.
Overwrite (y/n)? 输入 y 即可。其中有 3 句以 Enter 开头的提示让输入,直接回车即可。
3、在 github->settings->SSH and GPG keys 中添加新的 SSH key
点击 Add SSH key 即可,可以看到新添加的 key 已使用
4、输入命令 ssh -T git@github.com 验证是否配置成功
发现报错: ssh: Could not resolve hostname github.com: No address associated with hostname
原因: 无法解析该主机名,说白了就是 git 并不知道该域名对应的 ip address
解决办法:
1、在 git bash 中 ping www.github.com
可以获取到 github 对应的 ip address,我获取到的是 20.205.243.166
2、找到 C:\Windows\System32\drivers\etc\ 下的 hosts 文件,使用记事本打开并添加如下行
20.205.243.166 github.com
保存并关闭
3、再次输入命令 ssh -T git@github.com
再次 git push,成功!