ssh-and-network-sharing
Overview
Tailscale provides two main capabilities for collaboration:
- Tailscale SSH: Secure SSH access without managing keys
- Network Invitations: Adding users to your tailnet or sharing specific devices
Tailscale SSH
What is Tailscale SSH?
- SSH connections between devices in your Tailscale network
- No SSH key management required
- Authentication via WireGuard
- Access controlled by ACL policies
Enabling SSH on Your Machine
Method 1: Command Line
tailscale set --sshMethod 2: Admin Console
- Log into https://login.tailscale.com/admin
- Find the device you want to enable SSH on
- Toggle “Allow Tailscale SSH” in machine settings
Configuring Access Controls
Edit ACL rules at https://login.tailscale.com/admin/acls:
{ "ssh": [ { "action": "accept", "src": ["autogroup:members"], "dst": ["tag:pi"], "users": ["*"] } ]}Key Fields:
src: Who can SSH (e.g.,autogroup:membersfor all tailnet members)dst: Which machines can be accessed (e.g.,tag:pifor tagged devices)users: Which system users can be accessed (*= all,autogroup:nonroot= non-root only)
SSH Access Rules & Restrictions
Allowed SSH Connections:
- ✅ From a user to their own devices (as any user including root)
- ✅ From a user to tagged devices (as any user including root)
- ✅ From a user to shared tagged devices (as any user including root)
Key Restriction - Device Ownership:
⚠️ Critical: Tailscale does NOT let a user start an SSH session on a user-owned device unless the source is a device owned by the same user.
What this means:
- If you invite someone to your tailnet, you CANNOT SSH into their personal devices (laptops, desktops they own)
- Even with ACL rules configured, user-owned devices are protected
- This is a security feature to prevent unauthorized access to personal machines
Workarounds for accessing invited users’ machines:
- Device Tagging: The invited user can tag their device (makes it non-user-owned)
- Device Sharing: They can explicitly share their device with you
- Shared Servers: Use tagged servers/VMs that aren’t user-owned
Security Notes
- If you include
autogroup:nonrootin the users field, anyone permitted bysrccan SSH as any nonroot user - Access is determined by your tailnet ACL policies
- All connections are encrypted via WireGuard
- User accounts must already exist on the host - Tailscale won’t create them
Network Invitations
Two Approaches
Option 1: Full Tailnet Invitation
When to use: Sharing multiple devices, ongoing collaboration, team members
Capabilities:
- Invited user joins your entire Tailscale network
- Can access any device/service allowed by ACLs
- Works with any identity provider (Gmail, Apple, Microsoft, passkeys)
- Invites expire after 30 days if unused
How to invite:
- Open the Users page in admin console
- Select “Invite external users”
- Add email address for each user
- Send invitation URL
Requirements:
- Must be Owner, Admin, or IT admin to send invitations
- Available on all Tailscale plans
Option 2: Device Sharing
When to use: Limited access, temporary sharing, single device access
Capabilities:
- Share specific machines only
- Recipient cannot see other devices on your tailnet
- No exposure to public internet
- More restricted than full network invitation
How it works:
- Share individual machines with external users
- Access limited to only the shared machine
- Better security isolation for limited use cases
Choosing Between Invitations vs Sharing
| Feature | Full Tailnet Invitation | Device Sharing |
|---|---|---|
| Access scope | Entire network (ACL-controlled) | Single device only |
| Best for | Multiple devices, teams | Limited/temporary access |
| Management | User management required | Per-device sharing |
| Security | ACL-based permissions | Isolated access |
Common Use Cases
Personal/Family Use
- Invite family members to your tailnet
- Share specific devices (NAS, media server) without full network access
- Remote support for family computers
- Note: You can’t SSH into family members’ personal laptops unless they share/tag them
Professional/Contractor Use
- Invite contractors to specific project resources
- Share development servers (use tagged devices for contractor SSH access)
- Temporary access that auto-expires
- Best practice: Use tagged servers for contractor access, not personal devices
Team Collaboration
- Add team members with role-based access
- SSH into shared development environments (tag these servers)
- Secure remote access for distributed teams
- Tip: Tag shared infrastructure so any team member can access it
Important Limitations & Notes
General Limitations
- Unused invitations expire after 30 days
- ACL policies control all access (both SSH and network)
- Tailscale SSH requires the destination device to have SSH enabled
- All connections are authenticated via WireGuard
- External invites work across all identity providers
SSH-Specific Restrictions
- Cannot SSH into user-owned devices belonging to other users
- OS user accounts must already exist on the destination (Tailscale won’t create them)
- By default, invited users can access your devices (control this with ACLs)
- Granting
autogroup:membersaccess also grants access to external invited users
Shared Device Behavior
- Shared machines are quarantined by default
- Quarantined = can receive connections but cannot initiate them
- Recipients must be Owner, Admin, or IT admin to accept shared machine invitations
Resources
- Tailscale SSH Documentation
- Invite Any User to Tailnet
- Device Sharing Guide
- ACL Configuration
- Inviting vs Sharing Comparison
Last Updated: November 22, 2025