利用 Tailscale 将 GitHub Actions 工作流安全接入虚拟局域网

没有公网 IP?利用 Tailscale 让 GitHub Actions 临时加入虚拟局域网,安全上传构建产物到本地设备。工作流结束后节点自动销毁,安全无痕。

当你在本地服务器部署业务却苦于没有公网IP,需要GitHub Actions安全上传产物时,大多数人会本能地选择暴露SSH端口——这等于把家门钥匙挂在门口,要么咬牙自建Runner——成本高到劝退。其实Tailscale提供了一条捷径:让工作流运行时创建一个临时节点,结束后自动销毁。但最容易被忽略的陷阱藏在标签(Tags)里——节点一旦打上标签就不再属于你的账号,且无法在控制台移除,配置顺序搞错直接导致整个虚拟局域网瘫痪。

当你的服务部署在本地服务器上(没有公网 IP),如何让 GitHub Actions 构建完成后将产物安全上传到本地设备?暴露 SSH 端口不安全,自建 Runner 又太麻烦。本文将介绍如何利用 Tailscale 让 CI 临时加入虚拟局域网,实现安全传输。

Tailscale GitHub Actions 架构

一、方案概述

Tailscale 官方提供了 GitHub Action 工具,可以在工作流运行时创建一个临时节点接入 Tailscale 虚拟局域网。工作流完成后,这个临时节点自动从网络中移除,不留任何痕迹——即不需要手动清理,也不存在遗留的安全隐患。

二、准备工作:理解 Tags 和 Grants

在 Tailscale 中,默认情况下所有归属于你账号的节点可以互相访问。但 GitHub Actions 创建的临时节点必须添加标签(Tags)。节点一旦添加标签就不再归属你的账号,也无法与其他未打标签的节点互相访问。因此建议所有设备都打上标签,然后通过 Grants(访问控制规则)精确配置访问权限。

Tailscale 标签与 Grants 配置

三、配置步骤

1. 创建标签

进入 Tailscale 控制台 → Access controls → Tags → Create tag。建议创建三个标签:tag:home(家庭设备)、tag:vps(云服务器)、tag:ci(GitHub Actions CI)。标签的拥有者选自己的账号。

返回节点列表,为每个设备选择对应的标签。重要警告:添加标签后节点不再归属你的账号,也无法在控制台移除所有标签。如需恢复,必须在节点上重新执行 tailscale up 重新验证加入。

2. 配置 Grants 访问规则

在 Access controls → Grants 中通过可视化界面配置访问规则。推荐的三条规则:家庭设备可以访问所有设备;所有 VPS 之间可以互相访问;VPS 与 GitHub Actions 可以访问目标设备的指定端口。

对于仅需要 SCP 上传的场景,只需一条规则:允许 tag:ci 访问目标设备 IP 的 22 端口即可。

3. 创建 OAuth 凭证

GitHub Actions 无法手动打开 login.tailscale.com 授权登录,所以需要创建 OAuth 信任凭证。进入 Settings → Trust credentials → Credential → 选择 OAuth。权限只勾选 Auth Keys,标签选择 tag:ci。记录下生成的 client_id 和 secret。

Tailscale OAuth 凭证创建

4. 配置 GitHub Actions 工作流

在 GitHub 仓库的 Settings → Secrets and variables → Actions 中添加两个 Secrets:TS_OAUTH_CLIENT_ID 和 TS_OAUTH_SECRET。

在工作流文件中添加 Tailscale 步骤:

- name: Tailscale
  uses: tailscale/github-action@v4
  with:
    oauth-client-id: ${{ secrets.TS_OAUTH_CLIENT_ID }}
    oauth-secret: ${{ secrets.TS_OAUTH_SECRET }}
    tags: tag:ci

此外还需要添加一个 ping 参数指向目标设备的 Tailscale IP,并在随后的步骤中执行 SCP/SSH 命令上传文件。

Tailscale 工作流运行流程

四、效果验证

推送代码触发工作流运行,在构建日志中搜索 “Tailscale is running and connected”,看到这条日志说明 Tailscale 连接成功。此时可以在 Tailscale 控制面板上看到一个带有 tag:ci 标签的临时节点。工作流结束后,该节点自动从面板上消失。

五、安全注意事项

  • 标签不可逆:节点打标签后只能重新验证恢复,操作前确认无误
  • 最小权限原则:所有设备打标签,通过 grants 精确控制而非默认全互通
  • 临时节点自动销毁:工作流结束后自动移除,安全无痕
  • Secrets 管理:OAuth 凭据用 GitHub Secrets 存储,不写入工作流文件

六、总结

Tailscale + GitHub Actions 的方案完美解决了本地服务器无公网 IP 时的 CI/CD 部署问题。相比暴露 SSH 端口或自建 Runner,这个方案更安全、更便捷,而且 Tailscale 的免费计划对个人用户完全够用。

原创文章,作者:kp51,如若转载,请注明出处:https://www.kepu51.com/instant-messaging/702.html

赞 (0)
上一篇 2026年6月8日 10:00
下一篇 2026年6月8日 12:00

相关推荐

  • 谷歌 Pixel 用户专享:如何领取 12 个月 Gemini AI Pro 会员教程

    谷歌官方 Pixel 用户专享福利,通过特定资格认证流程,即使没有 Pixel 设备也能合法免费领取最长 12 个月的 Gemini AI Pro 会员。完整教程从注册美区账号到激活订阅。

    2026年4月18日 • AI教程
  • CloudCone Cyber Monday限时抢购:年付$9.99开启云端新纪元

    引言 随着黑色星期五的余温未散,Cyber Monday(网络星期一)作为全球科技爱好者和企业用户的终极采购节点已悄然到来。在云计算领域,美国知名主机商CloudCone今年再次祭出震撼级促销:年付VPS低至$9.99,配套SSD存储、弹性计算资源与全球数据中心支持。本文将深度解析此次活动的技术价值、适用场景及抢购策略,为读者提供一站式决策指南。 正文 一、…

    2025年12月1日
  • 原生 IP、广播 IP、家宽 IP 有什么区别?VPS 选购与流媒体/AI 解锁坑指南

    原生 IP、广播 IP、家宽 IP 有什么区别?VPS 选购与流媒体/AI 解锁坑指南 购买 VPS 时,很多人只盯着 CPU、内存、带宽和线路,却忽略了最关键的一个因素——IP 属性。明明买了台湾机房,却看不了 Netflix;明明延迟很低,ChatGPT 却提示地区不支持;明明刚开的账号,几分钟就被封……这些问题的根源往往不在配置,而在 IP 类型。 本…

    2026年7月3日
  • Serv00免费邮局:搭建个人域名邮箱,支持SMTP和Catch-all功能

    摘要:本文介绍了如何在Serv00免费虚拟主机上搭建自己的域名邮箱,包括添加域名、设置邮箱账号、配置DKIM和Catch-all功能,以及进行域名解析和邮件测试的详细步骤。 关键要点列表: Serv00支持免费搭建域名邮箱,并提供SMTP和Catch-all功能,适合正常建站和邮局使用。 设置邮箱需在后台添加域名和邮箱账号,并配置DKIM以提高发信成功率,避…

    2025年6月4日 • VPS评测
  • ChatGPT 使用方法 2026:新手教程、进阶功能与站长开发场景

    ChatGPT 使用方法 2026:新手教程、进阶功能与站长开发场景 2026 年的 ChatGPT 早已不是简单的聊天机器人。它内置了 Deep Research、Agent、Projects、Tasks、Codex、文件分析、图片生成等能力,成为一个真正的数字工作区。对于站长和开发者来说,ChatGPT 可以在内容创作、SEO 分析、脚本编写、服务器排错…

    2026年7月10日
  • UptimeFlare 免费网站监控部署指南:零成本搭建全球多节点状态监测

    开源免费的Serverless网站监控方案UptimeFlare完整部署教程。基于Cloudflare Workers,零成本监控50个站点,支持Telegram告警、90天历史记录和全球多节点检测。

    2026年6月11日
  • LightNode VPS 评测:40+机房、弹性小时计费与新用户余额活动是否值得用

    LightNode VPS 评测:40+机房、弹性小时计费与新用户余额活动是否值得用 你是否正在寻找一款灵活、低门槛的云服务器?传统年付 VPS 往往一次性支出较高,而按小时计费的云服务器允许你按需使用、用完即停,尤其适合短期项目、多地区测试或开发环境。本篇评测将全面解析 LightNode 的最新动态:覆盖 40+ 数据中心、弹性小时计费模式,以及新注册用…

    2026年7月3日
  • GoRelay 评测:多机房 VPS、性价比与建站实测,是否值得入手?

    1. 引言 在众多 VPS 选择中,如何找到既能满足多地区部署需求,又不会让预算严重超支的方案?这是许多个人开发者、跨境电商和内容创作者的共同困扰。GoRelay 以其多地区节点覆盖和亲民的定价体系在圈内获得了不少关注,特别是对那些需要灵活选择机房、对成本敏感的用户而言。本篇评测将从商家背景、核心优势、套餐配置到实际应用场景进行全面梳理,帮你快速判断 GoR…

    2026年2月24日
  • KVM 还是 OpenVZ:VPS 虚拟化类型与超售机制讲清楚,附 12 项体检命令清单

    同样标着1 核 1G,一台机器跑 WordPress 秒开,另一台连 SSH 都卡;同样写着50GB 硬盘,一台写满不报错,另一台写到 30GB 就提示磁盘空间不足。这类现象在便宜 VPS 圈里太常见了,以至于很多人把它归结为运气,但背后其实是两套可以量化的机制:虚拟化类型决定了资源怎么切分,超售比例决定了实际能用多少。这篇文章不讲商家推荐,只讲这两件事的原理,以及你在拿到机器之后用几行命

    2026年9月13日
  • 超便宜 VPS 深度评测:低价不低质的配置组合与靠谱商家参考

    做网站、搭建机器人、跑脚本、科学计算、搭建内网穿透中转,甚至只是想有一台“自己的小服务器”练手时,第一反应往往是:有没有又便宜、又能用的 VPS?入门用户的典型需求大概是: 价格尽量低,最好在月付 10 元人民币以内; 至少要能跑得动常见环境(Nginx、PHP、Node.js、Docker 等轻量应用); 稳定性别太离谱,不希望随时翻车、随时跑路; 对带宽…

    2025年12月24日