Tailscale实现远程开关机

  • 主机是 Windows
  • 从电脑 控制这台机器

大多数家庭或办公室的电脑 不直接暴露在公网,只有一个共享的“外网 IP”,真正的电脑 IP 是被路由器“藏起来”的,属于 内网

这就导致你从家里 Mac 想连到公司/别处的那台电脑时,找不到门(因为 IP 被路由器挡住了)。

代表工具有:

  • Tailscale(简单、免费、安全,适合用)
  • ZeroTier、FRP、Ngrok、花生壳等

你用 https://ifconfig.me 查到的 IP 是你当前的公网 IP。

⚠️大部分家庭宽带(尤其是移动、电信、联通)提供的是“动态 IP”,可能重启路由器或过几天就变一次。

这套方案稳定、安全、速度快、操作也不复杂。

💡
总结:在开机前可以用任务计划工具来设置,也就是“服务”service,和开机后再开的“启动”是两回事。

🛠️ 步骤开始:Windows主机 + Mac 远程控制

  1. 打开你那台 4090 主机。
  2. 访问官网:https://tailscale.com/download
  3. https://pkgs.tailscale.com/stable/ 各种稳定版本下载
  4. 下载并安装 Windows 版。
  5. 安装完后会提示登录,你用 Google 账号(或 GitHub)登录就行。
  6. 成功后,主机会自动加入你的私人网络。

  1. 在 Mac 上也访问:https://tailscale.com/download
  2. 安装 Mac 版本,登录同一个账号。
  3. 你会看到自己的设备列表里有那台 Windows 电脑了。

在 Windows 上:

  1. 开始菜单 > 设置 > 系统 > 远程桌面
  2. 打开开关「启用远程桌面」
  3. 记住你的 Windows 用户名(建议设置登录密码)
  4. 打开防火墙中对远程桌面的访问(系统一般会自动处理)

  1. 在 Mac 上打开 App Store,搜索并安装:
    Microsoft Remote Desktop

    或直接链接:https://apps.apple.com/cn/app/microsoft-remote-desktop/id1295203466

  2. 打开后,点击 “+” 添加一个新连接:
    • PC name:填你在 Tailscale 上看到的 Windows 主机名或它的 Tailscale IP(通常是 100.xxx.xxx.xxx)
    • 用户名:你的 Windows 登录用户名
    • 密码:登录密码(必须设置过)

点击保存并连接,就能看到远程桌面啦!


你就能像操作自己电脑一样用 4090 远程跑 ComfyUI、MJ、Stable Diffusion、看视频、写代码等等!


明白了,你现在手边只有 iOS 手机,那我们就用手机来远程控制 4090 主机。

我们依然推荐用 Tailscale + Microsoft Remote Desktop 方案,手机也完全支持!


📱方案一:用 iPhone + Tailscale + 官方远程桌面(最流畅)


你现在能用 4090 主机,对吧?请先完成这些准备:

  1. 打开浏览器访问: https://tailscale.com/download
  2. 下载 Windows 版本,安装。
  3. 登录(用 Google 或 GitHub 都可以)
  4. 登录后不要管,它会常驻后台并分配一个虚拟 IP(通常是 100.x.x.x

  1. 打开:开始 > 设置 > 系统 > 远程桌面
  2. 开启“启用远程桌面”开关 ✅
  3. 系统会提示你“允许防火墙通过”,也点允许
  4. 记下你的 Windows 登录名(比如 DESKTOP-XXXXX\用户名
    如果你没设置登录密码,需要设置一个,不然远程桌面连不上。

  1. 打开 App Store,搜索并安装 Tailscale
  2. 登录同一个账号(和你在电脑上登录的一样)
  3. 你会看到你的 4090 主机出现在设备列表中

  1. 仍在 App Store,搜索并安装:
    Microsoft Remote Desktop

    链接点我跳转 App Store

  2. 打开 App,点击“+” > 添加 PC:
    • PC 名称:填 Tailscale 分配给主机的 100.xxx.xxx.xxx 地址

      👉 可以在 Tailscale App 里点你的设备名查看 IP

    • 用户名:Windows 的登录名(比如 User
    • 密码:Windows 的登录密码
  3. 保存后点击该设备,就可以看到 Windows 画面啦!


你可以稍后我教你怎么部署一个 Web 服务,比如:

  • ComfyUI Manager(带 Web 控制面板)
  • 或者直接开放你自己的网页端口,挂载 Gradio 接口

Tailscale 不随系统自动登录 导致的“远程断联”问题,这是远程运维中一个很常见也很容易踩坑的点,解决方式如下👇

官网的不行,需要下载:pkgs.tailscale.com/stable/#windows

Tailscale 官网的下载页面(https://tailscale.com/download)默认提供的是 .exe 安装程序,这个版本安装后不会注册为 Windows 系统服务,因此在系统重启或用户未登录时,Tailscale 不会自动启动,导致你无法远程连接。


要实现 Tailscale 在 Windows 系统启动时自动运行,即使用户未登录,也能保持远程连接,你需要使用 .msi 安装包来安装 Tailscale。以下是具体步骤:

访问 Tailscale 的官方安装包页面:

👉 https://pkgs.tailscale.com/stable/

在该页面中,找到适合你系统架构的安装包:

  • 对于大多数现代 Windows 系统,选择 tailscale-setup-<version>-amd64.msi(适用于 64 位系统)

例如:

  • tailscale-setup-1.76.3-amd64.msi

文件名 描述 是否支持后台服务
tailscale-setup-1.82.5.exe 标准安装包(不推荐用于注册系统服务) ❌ 不自动注册为系统服务
tailscale-setup-full-1.82.5.exe 完整版安装器(包含所有架构的 MSI,适合打包部署) ✅ 可用于系统服务
tailscale-setup-1.82.5-amd64.msi 64 位 Windows 的官方推荐 MSI 安装包 ✅ 是你最推荐用的版本(实测win10可以,但win11要装full版本的)
tailscale-setup-1.82.5-arm64.msi 适用于 ARM 架构的 Windows(如 Surface X) ❌ 大多数 PC 不用选它
tailscale-setup-1.82.5-x86.msi 适用于 32 位系统 ❌ 老旧系统才用这个

👉 tailscale-setup-1.82.5-amd64.msi

适用于绝大多数现代 Windows 10 / 11 电脑,并且安装后会注册成 系统服务 TailscaleService,可以:

  • 在未登录系统时后台运行
  • 实现远程重启后仍可控制
  • 通过 PowerShell 控制自动启动行为

  1. 双击安装 MSI 文件
  2. 安装完后,打开 PowerShell(管理员)运行:这将启动 Tailscale 服务,并设置为开机自动启动。
Start-Service TailscaleService
Set-Service TailscaleService -StartupType Automatic
  1. 登录你的 Tailscale 账号:
  • 点击系统托盘中的 Tailscale 图标,完成登录
  • 登录一次即可记住,下次自动连接

安装 .msi 版本后,之前 .exe 安装的版本(如果没卸载)可能会有冲突,建议:

# 可选:卸载旧版本
Get-WmiObject -Query "select * from Win32_Product where Name like 'Tailscale%'" | ForEach-Object { $_.Uninstall() }

双击下载的 .msi 文件,按照提示完成安装。

安装完成后,Tailscale 会注册为 Windows 系统服务,名为 TailscaleService

以管理员身份打开 PowerShell,执行以下命令:

在系统托盘中找到 Tailscale 图标,点击后选择“登录”,按照提示在浏览器中完成账户登录。


你可以通过以下命令检查 Tailscale 服务的状态:

Get-Service TailscaleService

如果显示状态为 Running,说明服务已成功启动。


  • 使用 .msi 安装包安装 Tailscale 后,服务将在系统启动时自动运行,无需用户登录即可保持远程连接。
  • 如果你之前安装了 .exe 版本,建议先卸载,然后再安装 .msi 版本,以避免冲突。
  • 安装过程中可能需要管理员权限,确保你有足够的权限进行操作。

当你远程重启 Windows 主机后:

  1. 开机进入 登录界面 前,Tailscale 不启动
  2. 所以你就无法从远程再次连上去,陷入“我看得见你重启,但我回不去了”的困境。

虽然用了 .msi 文件,但系统中依然提示 TailscaleService 不存在,说明服务并没有被成功注册。一步步排查,并且确保服务是正确安装、注册和运行的。


先检查是否真的通过 MSI 安装了 Tailscale:

Get-WmiObject -Query "select * from Win32_Product where Name like '%tailscale%'"

如果没有任何输出,说明 MSI 安装失败或没安装成功,你需要重新安装一次:

  1. 右键 MSI 文件 → 选择“以管理员身份运行”
  2. 安装完成后,再重启一下电脑(这会确保服务注册成功)
  3. 然后再运行:
Start-Service TailscaleService
Set-Service TailscaleService -StartupType Automatic

执行以下命令查看是否有 tailscale 的服务:

Get-Service | Where-Object { $_.Name -like "*tailscale*" }

如果这也没找到,就说明服务根本没注册进系统(可能你之前安装的是 .exe 而不是 .msi)。


问题 解决办法
安装了 .exe 而非 .msi 卸载 .exe 版本,改装 .msi用管理员权限安装
安装 .msi 没有服务注册 重启系统,或确保安装时没有被安全策略阻止
服务安装失败 尝试在 PowerShell 里用 msiexec 安装(见下方)

用命令行强制以系统权限安装(确保服务正确注册):

msiexec /i "C:\路径\到\tailscale-setup-1.82.5-amd64.msi" /qn
替换路径为你本地的实际路径

你现在的情况最有可能是:

之前装的是 .exe 而不是 .msi,所以没有系统服务。

只要你用 管理员身份正确安装 tailscale-setup-1.82.5-amd64.msi(实测win10可以,win11要下载full版本的),重启后服务就会出现。


  • 你也可以同时装一个 RustDesk 或 向日葵 做兜底工具,它们可以在登录前连接桌面,避免断联。
  • 或者设置一个 物理定时器开机脚本,重启自动执行 Tailscale CLI 启动。

tailscale.exe up --login-server=https://login.tailscale.com --accept-routes

tailscale.exe up --login-server=https://login.tailscale.com --accept-routes --unattended

测试用的这个命令:

Set-Service -Name tailscale -StartupType Automatic

确实是设置 tailscale 服务为“开机自动启动”的方式。那么我们现在来确认是否生效,分两步检查即可


在 PowerShell 中输入:

Get-Service -Name tailscale | Select-Object Name, Status, StartType

如果返回类似:

Name     Status  StartType
----     ------  ----------
tailscale Running Automatic

就说明你的命令已经成功生效,服务在运行中且开机自启。


  1. 按下 Ctrl + Shift + Esc 打开任务管理器
  2. 切换到【服务】标签页
  3. 找到 tailscale 服务,查看是否是“正在运行”
  4. 双击这个服务,看“启动类型”是不是“自动”

可能原因:

  • 服务实际叫 tailscaledTailscaleService(不同版本略有不同)
  • 安装时没有正确注册服务

你可以这样列出所有带 tailscale 的服务名看看是哪一个:

Get-Service | Where-Object { $_.Name -like "*tail*" }

找到正确名字后再重新执行:

Set-Service -Name 正确服务名 -StartupType Automatic

如果你希望 tailscale 每次启动后自动连上你的账户和网络,你还需要配置:

tailscale up --authkey <你的认证密钥> --hostname your-machine
登录 tailscale 网站,在 Admin Console → Keys 页面生成 authkey

你现在这个命令没报错就已经很不错了,照我这两步确认一下状态就能安心 😌

如果你还有别的服务名疑问,发我输出我来帮你判断。

豆包:关机之后重启,没输入密码时,tailscale并登录 的解决方案

在 Windows 系统中,未输入密码进入登录界面时,用户级服务默认不会启动(因为此时用户会话未激活)。若要让 Tailscale 在系统启动后无需用户登录即可自动运行,需要将其配置为以 系统账户(Local System) 运行,并结合 无人值守模式服务自启策略。以下是具体解决方案:

Windows 服务有两种运行身份:

  1. 用户账户:需用户登录后才能启动(如普通用户账户)。
  2. 系统账户(Local System):无需用户登录,系统启动时直接运行(推荐方案)。
  1. 打开「服务管理器」: Win + R → 输入 services.msc → 找到 Tailscale 服务。
  2. 右键点击服务 →属性→ 切换到登录选项卡:
    • 若当前为用户账户(如 YourUsername):需修改为 本地系统账户
    • 若已是本地系统账户:跳过此步骤。
  1. 在「登录」选项卡中,勾选 本地系统账户
  2. 取消勾选 允许服务与桌面交互(可选)。
  3. 点击 应用确定,重启服务使配置生效。

无人值守模式可让 Tailscale 在系统账户下自动完成认证,无需用户干预。
以管理员身份打开 PowerShell,执行:

tailscale up --unattended --login-server=https://login.tailscale.com
  • 关键参数-unattended:允许在无用户会话时运行(Windows 专用)。 -login-server:指定 Tailscale 控制服务器(可选,默认值为 https://controlplane.tailscale.com)。
    遇到的问题:
PS C:\Users\somebody> tailscale up --unattended --login-server=https://login.tailscale.com
Error: changing settings via 'tailscale up' requires mentioning all
non-default flags. To proceed, either re-run your command with --reset or
use the command below to explicitly mention the current value of
all non-default settings:

        tailscale up --login-server=https://login.tailscale.com --unattended --advertise-exit-node

查看完整状态信息

tailscale status --json | ConvertFrom-Json | ConvertTo-Json -Depth 10

tailscale status --json | ConvertFrom-Json | Select-Object -ExpandProperty Self

  • -json:以 JSON 格式输出状态。
  • ConvertFrom-Json:将 JSON 文本转换为 PowerShell 对象。
  • Select-Object -ExpandProperty Self:提取设备自身的状态信息。

执行命令后,查看以下字段是否符合预期:

  • Online: true✅ 表示 Tailscale 服务已运行,网络连接正常。
  • Active: true✅ 表示设备已完成认证,处于激活状态(可参与网络通信)。
  • Unattended: true✅ 表示配置正确,设备会在系统启动时自动运行(无需用户登录)。
  • AdvertiseExitNode: true/false
    • true:当前设备作为出口节点(若你需要此功能,显示 true 为正常)。
    • false:未作为出口节点(默认值,若无需此功能,无需修改)。
  • UserProfile:显示登录的用户邮箱(如 [email protected]),表示认证成功。
  • TailscaleIPs:分配的 Tailscale IP 地址(如 ["100.101.102.103"])。
  1. 在「服务管理器」中,右键点击 Tailscale 服务 → 属性
  2. 启动类型设置为自动(延迟启动)或自动。
    • 延迟启动:避免抢占系统资源,适合后台服务。
    • 自动:系统启动后立即启动。
  1. 重启计算机,进入登录界面(不输入密码)。
  2. 通过

    远程工具

    (如公司内部的远程管理工具)或本地物理机,检查:

    • 服务状态:
      # 远程执行(需管理员权限)
      Invoke-Command -ComputerName <远程计算机名> -Script { Get-Service tailscale }

      若状态为Running,表示服务已在系统账户下启动。

    • Tailscale 连接状态:
      Invoke-Command -ComputerName <远程计算机名> -Script { tailscale status }

      若显示 Tailscale IP 和节点信息,说明已成功连接。

      3. 示例输出(成功状态)

      Online              : True
      Active              : True
      UserProfile         : user@example.com
      TailscaleIPs        : {100.101.102.103}
      Unattended          : True
      AdvertiseExitNode   : false  # 若未启用出口节点
      LoginServer         : https://login.tailscale.com
  1. 组策略限制: 部分公司通过组策略禁止服务以系统账户运行,需联系 IT 部门解除限制。
  2. 认证凭证问题:

    若 Tailscale 需要用户凭证(如 OAuth 登录),系统账户无法存储用户会话,需提前通过

    tailscale up --auth-key

    使用预生成的认证密钥(适合企业批量部署)。

    tailscale up --auth-key=file:/path/to/authkey --unattended

    (需将认证密钥文件放置在系统可访问的路径,如C:\\ProgramData\\tailscale\\)。

配置项 要求
服务登录身份 必须为 本地系统账户(Local System),否则无法在未登录时启动。
启动类型 自动(延迟启动)或自动。
无人值守模式 必须启用(--unattended),否则无法绕过用户会话认证。
认证方式 推荐使用 认证密钥(Auth Key),避免依赖用户登录后的 OAuth 流程。

通过以上配置,Tailscale 会在系统启动时以系统账户自动运行,无需用户登录即可完成网络连接,满足远程开机自启需求。

生成密钥网址

tailscale up --unattended --login-server=https://login.tailscale.com --auth-key=file:C:\tailscale-authkey.txt --reset

tailscale up --authkey=tskey-xxxx --login-server=https://login.tailscale.com --reset


你需要完成两个事情:

  1. Mac 上运行一个远程桌面服务(或类似 VNC 服务)
  2. iPhone 安装一个客户端 App,通过 Tailscale 访问那台 Mac

macOS 本身支持 VNC,操作如下:

  1. 打开系统设置 > 共享(Sharing)
  2. 开启 屏幕共享(Screen Sharing)
  3. 勾选 允许 VNC 查看器控制屏幕,并设置一个密码(这个就是 VNC 密码)
  4. 确认 Tailscale 正常连接,并记下该 mac 的 Tailscale IP(一般是 100.x.x.x
  1. 安装 App:推荐 VNC Viewer by RealVNC
  2. 打开 App,添加新连接
    • 地址填:100.x.x.x(Mac 的 Tailscale IP)
    • 名称随意
  3. 输入你在 mac 设置的 VNC 密码,即可连接

如果你追求类“远程打游戏”般的丝滑体验,可以用 Moonlight + Sunshine 组合:

  • 在 mac 上安装 Sunshine(一个 GameStream 服务器)
  • 在 iPhone 上用 Moonlight App
  • 同样通过 Tailscale 打通两个设备

缺点是配置稍麻烦,但延迟比 VNC 好太多。


  • 你如果是 macbook,记得设置合盖仍能远程(或用防盖检测工具)
  • 默认 macOS VNC 画质较差,如果你需要美观可选 第三方远控服务(如 AnyDesk、RustDesk)
  • Tailscale 也支持 MagicDNS,你可以直接用设备名访问,比如 macbook.local,更方便

类型 工具组合 适合用途
标准远控 Tailscale + VNC 一般操作、远程桌面
丝滑高帧远控 Tailscale + Sunshine + Moonlight 看视频、打游戏
零配置即用 AnyDesk / RustDesk + Tailscale 非技术用户

偏开发和可控性的话,推荐走 Tailscale + VNC 或 Moonlight 路线