使用 SSH 连接 GitHub Action 服务器

使用 SSH 连接 GitHub Action 服务器

💡 原文中文,约3300字,阅读约需8分钟。
📝

内容提要

GitHub Actions 通过 tmate 提供免费虚拟服务器的 SSH 连接。用户需创建仓库并设置 NGROK_TOKEN 和 SSH_PASSWORD。连接后可进行操作,但会因超时失去控制,服务器最长存活6小时,需重新运行以获取新连接信息。

🎯

关键要点

  • GitHub Actions 通过 tmate 提供免费虚拟服务器的 SSH 连接。
  • 用户需创建仓库并设置 NGROK_TOKEN 和 SSH_PASSWORD。
  • 连接后可进行操作,但会因超时失去控制。
  • 服务器最长存活6小时,需重新运行以获取新连接信息。
  • tmate 连接的第一个实现存在资源浪费的问题。
  • csexton/debugger-action 允许在退出连接后继续执行后续步骤。
  • 使用 ngrok 进行内网穿透,需注册并获取 Authtoken。
  • 创建项目时需添加 NGROK_TOKEN 和 SSH_PASSWORD 的仓库 secrets。
  • ssh-server.sh 脚本用于设置 SSH 服务器和 ngrok。
  • workflow 文件 ssh-server.yml 用于启动 SSH 服务器,最长存活6小时。
  • ActionsVM 提供了另一种创建虚拟服务器的方法,需设置相同的 secrets。
  • 重新运行 jobs 时,SSH 信息会改变。
➡️

继续阅读