Ubuntu 20.04系统VPS无法连接GitHub及RStudio Server安装异常问题排查求助
问题排查与解决建议
先从你遇到的GitHub通信问题开始,这两个错误本质都是网络连接失败,我们一步步来:
一、Git & devtools 无法连接GitHub的排查
基础网络连通性测试
- 先ping GitHub确认网络可达:执行
ping github.com,如果没有响应,说明你的VPS要么DNS解析有问题,要么网络出口被限制了。 - 如果ping通但还是连不上,测试HTTPS连接:
curl -v https://github.com,看输出里是不是卡在“Trying xxx.xxx.xxx.xxx...”或者出现“Connection refused”,这大概率是443端口被封了。
- 先ping GitHub确认网络可达:执行
DNS配置修复
很多VPS默认的DNS可能不稳定,手动换成公共DNS试试:- 编辑
/etc/resolv.conf,把里面的nameserver改成8.8.8.8(谷歌)或者1.1.1.1(Cloudflare) - 重启DNS服务:
sudo systemctl restart systemd-resolved
改完再重新测试Git命令。
- 编辑
切换到SSH协议连接GitHub
如果HTTPS端口被运营商或VPS提供商限制,换成SSH协议是常用的解决方案:- 首先在VPS上生成SSH密钥:
ssh-keygen -t ed25519 -C "your-email@example.com"(一路回车默认即可) - 把公钥内容复制出来:
cat ~/.ssh/id_ed25519.pub,然后添加到GitHub账户的「SSH and GPG keys」里 - 修改Git远程仓库地址:
git remote set-url origin git@github.com:***.git
之后再执行git push -u origin master试试。
- 首先在VPS上生成SSH密钥:
检查代理设置
有时候系统或R环境会意外设置代理导致连接失败:- 系统层面:执行
echo $http_proxy和echo $https_proxy,如果有输出,先取消代理:unset http_proxy; unset https_proxy - R环境层面:打开R执行
Sys.getenv(c("http_proxy", "https_proxy")),如果有值,用Sys.unsetenv(c("http_proxy", "https_proxy"))取消,再测试devtools::install_github。
- 系统层面:执行
二、RStudio Server 验证失败的解决
你遇到的ERROR system error 1 (Operation not permitted)错误,主要是因为Ubuntu默认的AppArmor安全模块限制了RStudio Server修改系统资源限制的权限,解决步骤:
临时禁用RStudio的AppArmor Profile
- 先查看AppArmor状态:
sudo aa-status,找到rstudio-server的profile状态 - 临时禁用:
sudo aa-disable /etc/apparmor.d/rstudio-server - 重启RStudio Server:
sudo systemctl restart rstudio-server - 再执行验证命令:
sudo rstudio-server verify-installation,如果正常了,说明就是AppArmor的问题。
- 先查看AppArmor状态:
永久调整AppArmor配置
不建议一直禁用AppArmor,改成「警告模式」更安全:- 执行
sudo aa-complain /etc/apparmor.d/rstudio-server - 重启服务:
sudo systemctl restart rstudio-server
这样AppArmor只会记录限制行为,不会阻止RStudio的正常操作。
- 执行
备选:检查系统资源限制配置
如果上面的方法没用,看看/etc/security/limits.conf里有没有对rstudio用户设置过过于严格的资源限制(比如nofile、nproc),如果有,适当调高数值后重启系统试试。
内容的提问来源于stack exchange,提问作者MoDe
相关产品推荐
相关产品推荐

