利用 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

相关推荐

  • 深入了解 PanCheck:一款强大的网盘检测工具

    在如今的数字时代,网盘已经成为我们日常工作与生活中不可或缺的工具。无论是分享资料、备份文件,还是团队协作,网盘都扮演着重要角色。然而,随着时间推移,许多网盘分享链接会因为过期、违规、被删除或权限变更而失效。这不仅影响资源的可用性,也让资源管理者在维护时面临巨大挑战。 这时,PanCheck 的出现,正好解决了这一痛点。它是一款专为“网盘链接有效性检测”而设计…

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

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

    2026年7月3日
  • AI 管理 VPS 会成为趋势吗?从 Hostinger Kodee 到 Codex/Claude Code 的服务器运维指南

    AI 管理 VPS 会成为趋势吗?从 Hostinger Kodee 到 Codex/Claude Code 的服务器运维指南 2026 年,AI 管理 VPS 不再是科幻概念。无论是 Hostinger 在其 VPS 控制面板中推出的 Kodee AI 助手,还是 OpenAI Codex 和 Anthropic Claude Code 提供的终端代理,A…

    2026年7月10日
  • VPS CPU 性能怎么测?sysbench+Steal Time 实战完整教程

    如何测试 VPS 的 CPU 性能?新手也能看懂 如果你刚买了台 VPS,看着商家写的配置:4 核 CPU、高性能处理器,听起来很不错,但实际用起来网站加载慢、应用响应卡顿,甚至 SSH 都要转圈半天,这时候就要怀疑一个问题:这台 VPS 的 CPU 性能到底靠不靠谱,是不是被严重超售了? VPS 和自己的电脑不一样,你看不见硬件,也摸不到真实配置,但我们可…

    2026年1月8日
  • HmbCloud 半月灣 VPS 深度评测:三网 CN2 GIA、多机房与建站实战,值得入手吗?

    1. 引言 当你在寻找既能提供稳定 CN2 GIA 优化线路,又能在有限预算内获得可靠支撑的 VPS 时,小众但专业的商家往往能给你意想不到的惊喜。HmbCloud 半月灣(Half Moon Bay Cloud)正是这样一个选手——它以三网 CN2 GIA 直连、多机房覆盖和亲民定价在国内用户中积累了稳定的口碑。相比搬瓦工的高端定位和 DMIT 的企业级价…

    2026年2月12日
  • 部署mail-in-a-box电子邮局,在服务器 NAS搭建域名邮箱

    本文详细介绍了如何在服务器或NAS上使用“mail-in-a-box”项目搭建自己的域名邮箱系统。从域名邮箱的概念、所需环境(如25端口开放、Ubuntu 22.04系统)、部署步骤到DNS解析配置和SSL证书申请,作者提供了完整的操作指南,并强调了测试收发邮件的重要性及可能遇到的问题(如邮件被标记为垃圾邮件)。如果感觉配置繁琐,您可以看看之前文章Cloud…

    2025年6月15日 Linux运维
  • 数字游民必备:奥地利匿名eSIM完全指南

    本文介绍了如何通过Red Bull MOBILE Data:eSIM获取奥地利家宽IP的100M流量eSIM,用于注册账号(如N26),并详细说明了注册、激活和使用步骤。此外,还提到了Xesim和9sim等实体卡的购买链接及激活方法。 关键要点列表: 下载Red Bull MOBILE Data:eSIM应用,注册账号并验证邮箱。 输入邀请码激活eSIM,开…

    2025年7月15日 网络技术
  • 开源工具 Change Detection 实时监控网页更新/库存变动

    Change Detection 是一款开源的网页变动监控工具,能够实时检测网页内容更新(如库存、价格变动等),并通过多种通知方式提醒用户。支持 Docker 快速部署,提供灵活的配置选项,包括监控频率、通知格式及元素筛选功能,适用于抢购、优惠追踪等场景。 关键要点列表: 功能特点:实时监控网页内容变动(如库存、价格),支持查看具体变动内容并发送通知。 安装…

    2025年6月30日 Linux运维
  • 节点明明正常,Gemini 却提示”该地区不支持”?排查这 5 个隐藏原因

    节点没问题,Gemini 还是提示“该地区不支持”?检查这 5 个致命坑!本文整理了最全面的排雷清单,助你顺利解除 Gemini 地区限制。

    2026年4月18日
  • 2026年最好的免费ChatGPT替代品:15个有免费额度的AI工具推荐

    2026年最好的免费ChatGPT替代品:15个有免费额度的AI工具推荐 ChatGPT Plus 每月 20 美元(国内用户还需额外支付网络成本),一年下来就是 240 美元。如果团队有 5 个人,那就是 1200 美元。这还不算 Plus 版在高峰期排队、生成上限等问题。 好消息是,2026 年市面上有一大批 AI 工具提供慷慨的免费额度,覆盖写作、编程…

    2026年7月4日