ssh: Could not resolve hostname github.com: Name or service not known
问题描述
今天早上在自己的虚拟机上用git pull命令更新github上的版本库时提示下面的错误
[root@localhost ~] git clone git@github.com:sdscbr/demos.git
正克隆到 'demos'...
ssh: Could not resolve hostname github.com: Name or service not known
fatal: 无法读取远程仓库。
请确认您有正确的访问权限并且仓库存在。
我的本地虚拟机的系统是centos7,我以为是ssh秘钥的问题,于是我重新生成ssh秘钥并且与github进行关联,关联之后又试了一下,还是提示上面的错误,然后我ping了一下github.com和www.baidu.com
[root@localhost ~]# ping www.baidu.com
ping: www.baidu.com: 未知的名称或服务
[root@localhost ~]# ping github.com
ping: github.com: 未知的名称或服务
看来不是ssh秘钥的原因,那是什么原因呢?
解决办法
于是我想到了是不是前几天刚把动态IP换成静态IP的原因,那就试一下吧,打开
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="bde91a49-d394-4b97-9657-61c530abf4f4"
DEVICE="ens33"
ONBOOT="yes"
ZONE=public
IPADDR=192.168.142.131
将上面的BOOTPROTO="static"修改为BOOTPROTO="dhcp",动态获取ip,同时去掉IPADDR=192.168.142.131,再重启network服务
# 修改成现在的
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="bde91a49-d394-4b97-9657-61c530abf4f4"
DEVICE="ens33"
ONBOOT="yes"
ZONE=public
# 重启network服务
[root@localhost ~]# systemctl restart network
最后再试一下ping和git pull,都恢复正常了_。