Access a Device via SSH or RDP
In this guide, we'll set up a Device Pool so a support team can open a remote desktop session on the Windows workstations they support, wherever those machines happen to be.
Unlike other Resources, this does not involve a Gateway. The two Clients connect straight to each other over an encrypted peer-to-peer tunnel, so you only need the Firezone Clients on both ends. No Gateway or inbound access on your network firewall is needed.
Firezone does not authenticate RDP, SSH, or any other machine-level session. It decides which machines are reachable over the network; the machine itself still decides who may log in. You'll need a valid account on the device being accessed, and that device enforces its own password, key, or MFA policy as usual.
Prerequisites
- The machines you want to reach are signed in to a Firezone Client and appear under Clients in the admin portal.
- Remote Desktop is turned on for the machines you want to reach. Firezone carries the traffic; it does not turn the service on for you.
- Every Client involved, on both ends, is new enough to support Device Pools. See the version requirements.
Opening ports on your network firewall is not necessary or recommended. Firezone performs secure NAT traversal between the two Clients for you.
Step 1: Create the Device Pool
- In your admin portal, open Resources in the left sidebar and click New Resource.
- Select Device Pool as the Resource type.
- Name it something descriptive, like
Field Workstations. You'll refer to this name when creating a Policy in Step 3. - Under Pool membership criteria, choose Static list, then search for and select the workstations you want the support team to reach. For a pool that follows a department as people and devices change, choose A group's devices and select that department's Group instead. See all four membership choices.
- Click
Create Resource.
Step 2: Restrict the pool to remote access
Since these are people's working machines, grant only the services you actually need rather than the whole device.
- Edit the Resource you just created. In Traffic Restrictions, click
Add protocoland chooseTCP. - Enter
3389as the port. That's RDP. - Add
UDPas well with port3389if you want RDP's UDP transport, which gives a smoother session on lossy networks. RDP falls back to TCP without it. - Save.
Now only remote desktop traffic will reach pool members. Everything else is
dropped. If you want SSH too, add 22 to the TCP ports.
Step 3: Create a Policy
- Open Policies in the left sidebar, then click New Policy.
- Select the Group that should get access, such as
Support, and the Device Pool you created in Step 1. - Click
Save.
Membership and access are separate lists. Being in the pool makes a machine reachable; the Policy decides who can reach it. A member gets no access to anything just by being a member.
Step 4: Find the device's DNS name
- Open Clients in the admin portal and select a workstation you added to the pool.
- In the device's details, copy the DNS name shown under Slug, such as
field-workstation-01.firezone.network.
Each device has its own <slug>.firezone.network name. You can edit the
Slug on the device to give it a recognizable name, unique within your
account. Use the copied name in the examples below.
You can also use a tunnel IP address: open the Resource's Pool Members tab and copy the workstation's Tunnel IPv4 or Tunnel IPv6 address.
Step 5: Connect
From a Client signed in as a member of the Support Group, connect using the
device's DNS name. Sign in with an account that already exists on the target
machine.
On Windows, use the built-in Remote Desktop Connection:
mstsc /v:field-workstation-01.firezone.network
On macOS, iOS, or Android, open the Windows App (formerly Microsoft Remote
Desktop) and add a PC with field-workstation-01.firezone.network as the PC name.
On Linux, most clients take the address directly:
xfreerdp3 /v:field-workstation-01.firezone.network /u:technician
Any other service you allowed in Step 2 works the same way, against the same
address. ssh technician@field-workstation-01.firezone.network, for instance.
Step 6: Done!
You now have peer-to-peer remote desktop access to a fleet of machines, with no Gateway deployed and no inbound access configured on your network firewall.
Troubleshooting
The pool doesn't appear in a user's Client. Their Client is probably too old. Device Pools are hidden entirely from Clients that don't support them, so they won't see an error. Check the version against the requirements.
The device's DNS name does not resolve. Check the slug in the admin portal and confirm that the signed-in user has a Policy granting access to a pool containing that device. A device name alone does not grant access.
The connection fails to a specific member. The member has to be online for a peer-to-peer connection to work; Firezone can't wake a sleeping machine. The Pool Members tab shows who's online right now.
The connection fails between two specific Clients. Both Clients must be on
the same major and minor version, so a Client on 1.5.x can't reach one on
1.6.x. This usually shows up mid-upgrade and resolves once both ends are on
the same release.
RDP connects but rejects the login. That's the target machine's own authentication, not Firezone. Check that the account exists on that machine and is allowed to sign in remotely.
Need help? See all support options.