You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Github Actions ssh-action连接Digital Ocean VPS超时问题求助

Github Actions SSH连接DigitalOcean VPS超时排查方案

以下是几种常见原因及对应的排查方法:

  • VPS防火墙/安全组IP限制
    本地能连接不代表Github Actions的IP能访问。目标VPS的防火墙(如ufw、iptables)或DigitalOcean安全组可能仅放行你的本地IP,而Github Actions运行节点的IP是动态的,不在允许列表内。临时实例通常默认开放所有IP的SSH权限,因此能正常连接。
    排查操作:

    1. 登录目标VPS,执行 sudo ufw status 或 sudo iptables -L 查看防火墙规则,确认22端口是否允许所有IP访问;
    2. 登录DigitalOcean控制台,检查目标VPS的安全组配置,临时将SSH端口的来源设置为0.0.0.0/0测试(后续可根据Github官方IP范围缩小权限)。
  • SSH服务端配置限制
    目标VPS的sshd_config可能存在登录限制,比如通过AllowUsers指定仅允许特定IP的用户登录,或者开启UseDNS导致反向解析超时,这些限制在临时实例的默认配置中不存在。
    排查操作:

    1. 查看SSH配置:cat /etc/ssh/sshd_config | grep -E "AllowUsers|DenyUsers|UseDNS|MaxStartups";
    2. 若存在AllowUsers配置,确认是否包含你在Actions中使用的登录用户;
    3. 若UseDNS为yes,修改为UseDNS no后重启SSH服务:sudo systemctl restart sshd。
  • 网络路由或监听范围问题
    目标VPS的22端口可能仅监听本地回环地址(127.0.0.1),而非所有网卡(0.0.0.0),或者机房网络存在路由故障,导致外部请求无法到达。
    排查操作:
    执行 netstat -anp | grep sshd,确认输出中包含0.0.0.0:22或:::22,说明端口在全局监听;若仅显示127.0.0.1:22,需修改sshd_config中的ListenAddress配置。

  • ssh-action参数或密钥问题
    本地可用的密钥在Actions中可能存在格式问题,比如粘贴时丢失换行、存在多余空格,或者host参数填写错误(如带了多余的端口后缀)。
    排查操作:

    1. 核对Actions workflow中ssh-action的host、username、key参数是否与本地一致;
    2. 在ssh-action配置中添加debug: true,查看Actions运行日志中的详细连接过程,定位超时的具体环节。

内容的提问来源于stack exchange,提问作者yoyoyoyo123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 05:45:34