How To Setup RDP Using GitHub (Tailscale Method)
A step by step guide to connecting to a remote Windows session over Tailscale from a GitHub workflow, with the safety and rules you need to know first
GitHub Actions runs jobs called workflows on machines that GitHub provides. Tailscale is a private network service that connects your devices together so they can reach each other as if they were on the same network. In this method, the workflow starts a Windows machine, joins it to your Tailscale network, and you connect to it from your own PC using the built-in Windows Remote Desktop Connection.
Tailscale is the safe part of the setup because the remote machine is reachable only from devices signed in to your own Tailscale network, not from the open internet. Tailscale's own GitHub Action is designed to join a workflow to your tailnet, and each run creates a temporary node that is removed when the workflow finishes.
Because the session lives inside a workflow job, it is temporary. When the job ends the machine is gone, so treat it as a disposable session and do not store anything important on it.
The GitHub workflow file for this method. It is shared as an XML-named file, so you will rename it to end in .yml before adding it to your repository, as explained in the steps below.
The Tailscale client. Install it on your own PC and sign in to the same account, so your PC can reach the remote machine.
| Item | Details |
|---|---|
| GitHub account | With permission to create a repository and add repository secrets. |
| Tailscale account | With Owner, Admin or Network admin permission so you can create an auth key. |
| Your PC | Windows with Remote Desktop Connection (mstsc) and the Tailscale client installed. |
| Workflow file | Downloaded from this post. Open it in a text editor and read it before using it. |
| Tailscale auth key | Created in the Tailscale admin console. Keep it secret. |
| Topic | RDP using GitHub Actions and Tailscale |
| Tools | GitHub Actions, Tailscale, Windows Remote Desktop Connection |
| Files In This Post | Workflow file (rename .xml to .yml) and Tailscale download link |
| Difficulty | Beginner to intermediate |
| Session Type | Temporary, ends with the workflow job |
| Main Risk | May break GitHub's rules for Actions, so use at your own risk |



0 Comments