报错分析

在Linux(Ubuntu)服务器上clone github上的项目时,会出现该报错:
在这里插入图片描述

fatal: unable to access 'https://github.com/xxxx/xxxx/': Could not resolve host: github.com
此时ping也ping不通。
在这里插入图片描述

出现该问题是因为无法解析域名。
原因可能为:1. 该域名出现问题 2. 服务器没有网络 3. 服务器没有配置DNS
前两个问题比较特殊,可以自行查找解决方案,这里讲下第3点。
DNS服务器的主要目的是对域名进行解析,并生成相应IP地址。
DNS服务器地址由网络提供商(ISP)分配。但是,这些DNS服务器可能运行缓慢或未定期更新,这可能会导致在查询域名时解析为错误的IP地址。当然,我们可以自行更改为一些最受欢迎的公共DNS服务器。Google(8.8.8.88.8.4.4),Cloudflare(1.1.1.11.0.0.1)。OpenDNS(208.67.222.222208.67.220.220),Level3(209.244.0.3209.244.0.4)。
在这里插入图片描述


解决方案

查看Linux(Ubuntu)的DNS配置文件,存放在/etc/resolv.conf
我的服务器原始DNS设置如下,使用的是默认DNS服务器。

resolv.conf
# some notes
nameserver 127.0.0.53
options edns0 trust-ad

该文件是systemd-resolved服务控制的符号链接,不应手动对其进行编辑。systemd-resolved是为本地服务和应用程序提供DNS名称解析的服务,可以使用Netplan进行配置,Netplan是Ubuntu 20.04的默认网络管理工具。
Netplan配置文件存储在/etc/netplan目录。但你可能会在此目录中找到一个或两个yaml文件。
各个安装程序的文件名可能不同。通常,该文件名为01-netcfg.yaml50-cloud-init.yaml,但在你的系统中,可能会有所不同。我的系统中为01-network-manager-all.yaml
要设置DNS,编辑此文件即可。

01-network-manager-all.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    【1】:  # 你的服务器的网络接口名
      addresses:
        - 【2】# inet后的地址
      gateway4: 192.168.199.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

可以复制上面的内容到你的文件中,只需修改两处内容,这两处内容该如何获取呢?
输入命令:ip addr show查看网络接口信息
在这里插入图片描述

在我机器中【1】处的信息为:eno1,【2】处的信息为inet后的地址xxx.xxx.xxx.xxx/24
之后保存修改,使用sudo netplan apply命令应用更改内容。
我们来测试是否能ping通:
在这里插入图片描述

成功!能连接到github了,在这之后就可以利用SSH的加密方式clone
在这里插入图片描述

在这里插入图片描述


待完善内容

很遗憾的是,HTTPS的方式我还没有解决,这个以后如果解决了会再进行补充,如果大家有更好的方案,欢迎与我交流。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐