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

本地Ubuntu SSH连接正常,GitHub Actions远程SSH遇I/O超时问题求助

解决GitHub Actions远程SSH超时问题

排查与解决步骤

1. 检查远程主机防火墙/安全组规则

本地能连接是因为本地IP在允许列表,但GitHub Actions的服务器IP为动态分配,大概率不在远程主机的放行规则内:

  • 登录远程主机,执行ufw status查看防火墙规则,确认是否仅放行特定IP段;
  • 若为云服务器,检查云服务商的安全组入站规则,临时将SSH端口的源IP设为0.0.0.0/0测试,验证是否是IP限制导致。

2. 核对SSH私钥配置

确保GitHub Secrets中的私钥配置无误:

  • 检查SSH_PRIVATE_KEY内容完整,包含开头-----BEGIN RSA PRIVATE KEY-----和结尾-----END RSA PRIVATE KEY-----,无多余换行或空格;
  • 远程主机~/.ssh/authorized_keys需添加对应公钥,同时设置文件权限为600,.ssh目录权限为700。

3. 确认端口配置准确性

  • 检查GitHub Secrets里的SSH_PORT为纯数字格式,无引号或其他冗余字符;
  • 远程主机sshd_config中的Port配置与Secrets一致,且已重启sshd服务:sudo systemctl restart sshd。

4. 验证网络连通性

在工作流中添加测试步骤,确认网络可达性:

- name: Test network access
  run: |
    ping -c 3 ${{ secrets.HOST }}
    nc -zv ${{ secrets.HOST }} ${{ secrets.SSH_PORT }}

通过nc命令直接测试端口是否开放,快速定位是网络还是SSH配置问题。

5. 升级SSH Action版本

当前使用的appleboy/ssh-action@v0.1.3版本较旧,可能存在兼容性问题,建议升级到最新稳定版:

uses: appleboy/ssh-action@v1.0.3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 22:00:57