方法 1:测试服务器能否连通 GitHub

在 SSH 终端输入以下命令,测试能否连通 GitHub:
bash
curl -I https://github.com
请谨慎使用此类代码。
• 如果提示 Could not resolve host,说明是 DNS 问题。
• 如果超时或连不上,说明是 网络/防火墙/IP 拦截问题。

方法 2:使用 GitHub 代理加速(最推荐)

如果是因为服务器网络无法直连 GitHub,可以尝试在脚本安装前,配置代理加速,或者使用国内/第三方加速镜像。
• 许多一键脚本支持通过环境变量或修改脚本内的 GitHub 下载链接为代理源(例如 ghfast.top、://ghproxy.com 等)。
• 手动将脚本下载到本地,修改里面涉及 github.com 的直链,替换为加速代理后再执行。

方法 3:修改服务器的 /etc/hosts(解决 DNS/IP 无法访问)

如果是因为 DNS 解析异常,可以手动为 GitHub 绑定可用 IP:

  1. 编辑 hosts 文件:bash
    sudo nano /etc/hosts
    请谨慎使用此类代码。
  2. 在文件最末尾添加 GitHub 常用 IP(IP 可能会变动,可按需替换):text
    140.82.113.3 github.com
    151.101.184.133 raw.githubusercontent.com
    185.199.108.133 assets-cdn.github.com
    请谨慎使用此类代码。
  3. 保存并退出 (Ctrl + O 保存,Ctrl + X 退出),然后重新运行安装脚本。

方法 4:检查是否安装了 wget 或 curl

部分极简系统未预装下载工具:
• Ubuntu / Debian 系统:bash
apt update && apt install -y wget curl
请谨慎使用此类代码。
• CentOS / AlmaLinux 系统:bash
yum install -y wget curl

用如下命令下载安装msf时,提示curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused

curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \
chmod 755 msfinstall && \
./msfinstall

之前也遇到过类似的错误,用的解决方法是,fq工具打开全局模式,然后打开curl后面的地址(这里是:https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb),之后另存为文件,并依次执行后续命令。

上面是最简单便捷的方法,详细内容可以参考:Homebrew installation on Mac OS X Failed to connect to raw.githubusercontent.com port 443

update – 最终解决方案
最近再次遇到该问题,详细了解了下,发现是 github 的一些域名的 DNS 解析被污染,导致DNS 解析过程无法通过域名取得正确的IP地址。可以通过修改/etc/hosts文件可解决该问题。

具体而言:

打开 https://www.ipaddress.com/ 输入访问不了的域名,获得对应的IP。

使用vim /etc/hosts命令打开不能访问的机器的hosts文件,添加如下内容:

199.232.68.133 raw.githubusercontent.com
199.232.68.133 user-images.githubusercontent.com
199.232.68.133 avatars2.githubusercontent.com
199.232.68.133 avatars1.githubusercontent.com

注:上面内容中199.232.68.133是raw.githubusercontent.com所在的服务器IP(通过 https://www.ipaddress.com/ 获知)。

保存该文件,再使用即可正常访问。