This is a GitHub Actions workflow that automates the setup of a secure Remote Desktop Protocol (RDP) connection on a Windows Server using Tailscale. The workflow creates a temporary RDP server, generates a secure user account, and provides remote access through Tailscale's secure network.
The workflow performs the following steps:
- Configure Core RDP Settings - Enables Remote Desktop Protocol on Windows Server 2025 and configures security settings
- Create RDP User - Generates a local user account with a cryptographically secure random password
- Install Tailscale - Downloads and silently installs the Tailscale VPN client
- Establish Tailscale Connection - Authenticates and connects the runner to your Tailscale network
- Verify RDP Accessibility - Tests the RDP connection to ensure it's working properly
- Maintain Connection - Keeps the connection active until manually cancelled
Before using this workflow, you need:
- GitHub Repository - A repository with access to GitHub Actions
- Tailscale Account - A free or paid Tailscale account
- Tailscale Auth Key - Generate an authentication key from your Tailscale admin console
- GitHub Secret - Store your Tailscale auth key as a repository secret named
TAILSCALE_AUTH_KEY
- Visit https://login.tailscale.com/admin
- Navigate to Settings → Keys
- Generate a new Auth key
- In your GitHub repository, go to Settings → Secrets and variables → Actions
- Click New repository secret
- Name it
TAILSCALE_AUTH_KEYand paste the key value
- Go to your GitHub repository
- Click on the Actions tab
- Select the RDP workflow from the left sidebar
- Click Run workflow button
- Select the branch where the workflow is stored
- Click Run workflow
The workflow will start immediately and display:
- Tailscale IP address
- Username:
RDP - Password: (automatically generated and secure)
Once the workflow is running, you'll see the connection information:
=== RDP ACCESS ===
Address: [Tailscale IP address]
User: RDP
Password: [Generated secure password]
==================
Windows:
mstsc /v:[Tailscale_IP_Address]
macOS/Linux:
- Install Microsoft Remote Desktop from the App Store or Microsoft's official repository
- Enter the Tailscale IP address
- Use username:
RDPand the generated password
- Secure Password Generation - Uses cryptographic randomization with uppercase, lowercase, numbers, and special characters
- Tailscale Encryption - All connections are encrypted through Tailscale's WireGuard-based VPN
- No Direct Internet Exposure - RDP is only accessible through Tailscale, not exposed to the public internet
- Admin Access - The RDP user is added to the Administrators and Remote Desktop Users groups
- Temporary Nature - The connection is temporary and can be cancelled anytime via GitHub Actions
- OS - Windows Server 2025 (managed by GitHub Actions)
- Timeout - Maximum 60 minutes (3600 seconds) per workflow run
- Port - Uses standard RDP port 3389 through Tailscale
- Ensure
TAILSCALE_AUTH_KEYsecret is properly configured in repository settings
- Verify your auth key is valid and hasn't expired
- Check that your Tailscale account is active
- Wait a few seconds for the RDP service to fully start
- Check the workflow logs for any error messages
- Ensure you're using the correct Tailscale IP address from the workflow output
- Verify you're connected to the same Tailscale network
- Check firewall settings on your local machine
To stop the RDP session:
- Go to Actions tab in GitHub
- Click on the running workflow
- Click Cancel workflow button
The RDP connection will be terminated immediately.
- This workflow creates an active RDP server - use with caution
- The password is randomly generated and secure, but unique per session
- Always cancel the workflow when no longer needed to avoid unnecessary resource usage
- The connection is accessible to anyone with the Tailscale IP address - share credentials carefully
- GitHub Actions has free tier limits - check your account's remaining minutes
- Tailscale is free for personal use (up to 3 devices)
For issues with:
- Tailscale - Visit https://tailscale.com/help
- GitHub Actions - Check GitHub Actions documentation
- RDP - Refer to Microsoft Remote Desktop documentation
This workflow is provided as-is for educational and personal use.