Guides · September 2026

Remote access to your Mac: every method, compared

Nine ways to reach a Mac that is not in front of you — what each one opens on the machine, what it costs, which survive leaving the house, and which work from a phone.

Decide what you want back: a screen or a shell.

Every method here answers one of two questions: do you want the Mac’s screen, or a shell on it? Screen methods ship pixels — they need a desktop session to capture, spend bandwidth on every frame, and on a phone hand you a 27-inch display through a keyhole. Shell methods ship text: a few kilobytes a second, fine on hotel Wi-Fi, native to a Mac mini that has never had a monitor. Most people want the screen once a month and the shell every day.

The second question is where you are. On the same Wi-Fi, every built-in method works with a switch in System Settings; from anywhere else a router stands in the way, and getting through it is its own section below.

The methods, side by side.

Checked against the vendors’ pages on 3 September 2026; ports from Apple’s list.

MethodWhat you getWhat must be exposedFrom a phone?Cost
Screen Sharing (built in)The full desktop, over VNCTCP 5900 on the Mac; LAN or VPN to reach itWith a VNC app, crampedFree
Remote Login (built in)A shell, plus SFTP and scpTCP 22 on the Mac; LAN or VPN to reach itWith an SSH appFree
Apple Remote DesktopDesktop control plus admin: software pushes, reports, remote commandsRemote Management on each Mac (ports 3283 and 5900)No — the admin app is Mac-only$79.99 once
Messages screen sharingAnother person’s desktop, once they acceptNothing to configure; both sides in MessagesNo — Mac to MacFree
Tailscale + Remote Login or Screen SharingThe same shell or desktop, from anywhereNothing on the router; Tailscale on every deviceTailscale app plus an SSH or VNC appFree for personal use
Tailscale SSHSSH with the tailnet as the keySame; on macOS only the open-source tailscaled build can serve itThe same pairing of appsFree for personal use
RustDeskDesktop, via a rendezvous server you can self-hostScreen Recording and Accessibility permissions; their relay or yoursYes — iOS and Android appsFree, AGPL-3.0; the Pro server is paid
Chrome Remote DesktopDesktop, through GoogleA host installer and a Google accountYes — iOS and Android appsFree
Jump DesktopDesktop over Fluid, VNC, or RDPThe free Jump Desktop Connect agent on the MacYes — iOS app$34.99 Mac, $14.99 iOS

Per Tailscale’s docs, the App Store and standalone macOS builds are SSH clients on the tailnet, not servers; plain Remote Login over a tailnet address works with any build.

Turn on the two built-in methods.

Both live in the same pane. Paths are macOS Tahoe 26; Ventura onward matches.

  1. 01Open Sharing.

    Apple menu > System Settings, click General in the sidebar, then Sharing. Each service is a switch with an info button for its options, and the pane shows the Mac’s local hostname — the .local name other machines on the same network resolve.

  2. 02Screen Sharing: turn it on and choose who may connect.

    Click the info button next to Screen Sharing, turn it on, and choose All users or Only these users. “VNC viewers may control screen with password” lets non-Apple VNC clients in with a password instead of a Mac account. Remote Management — Apple Remote Desktop’s switch — and Screen Sharing cannot both be on; if Screen Sharing is greyed out, that is why (Apple’s guide).

  3. 03Remote Login: turn it on and decide about full disk access.

    Click the info button next to Remote Login, turn it on, and choose the users again. “Allow full disk access for remote users” lets SSH sessions read the folders macOS otherwise protects; leave it off until a job needs it. From a terminal, the same switch needs an administrator.

    sudo systemsetup -setremotelogin on sudo systemsetup -getremotelogin
  4. 04Connect to the screen.

    On another Mac, open the Screen Sharing app and pick the Mac under Network in the sidebar, or click the new-connection button and type a hostname or an Apple Account. On Apple silicon with Sonoma 14 or later you are offered Standard or High Performance; take High Performance on a good network (Apple’s connection guide).

  5. 05Connect to the shell.

    From a Mac, a Linux box, or Windows 10 or 11 with Microsoft’s OpenSSH client, it is one line; accept the host key the first time. Remote Login on a Mac covers keys, named users, and the errors.

    ssh you@your-mac.local
  6. 06Keep the Mac reachable when it is idle.

    A sleeping Mac answers nobody. On a desktop, System Settings > Energy has “Wake for network access” and “Prevent automatic sleeping when the display is off”; on a laptop they sit under Battery > Options and apply only on the power adapter (Apple’s sleep and wake guide).

Leaving the house is the hard part.

Every built-in method assumes you can reach the Mac’s address, and on your own Wi-Fi you can. From a café, the Mac sits behind your router with a private address nobody outside can route to, and the router passes nothing in unless you tell it to. That is port forwarding: TCP 22 or 5900 from the router’s public side to the Mac, and from that moment your Mac is answering the whole internet. sshd with keys only is defensible there; VNC with a password is not.

Two more problems come with forwarding. Home connections change public address, so you need dynamic DNS to find the router at all, and a growing share of ISPs use carrier-grade NAT, where there is no public address to forward from and no setting fixes it. Apple’s answer used to be Back to My Mac, which found your Mac through iCloud from anywhere; Apple switched it off on 1 July 2019. Nothing in macOS has replaced it — the Screen Sharing app can address a Mac by Apple Account, but Apple’s guide says nothing about reaching one on another network, so do not plan a trip around it.

The honest fixes come in two families. A private network — Tailscale is the best known — puts the Mac and your other devices on a WireGuard mesh that crosses NAT without forwarding, for the price of a client on every device. Or a service in the middle — RustDesk, Chrome Remote Desktop, Jump Desktop — has the Mac dial out to a rendezvous server that brokers the connection; the router never learns, and the service becomes a party to the arrangement, which RustDesk lets you fix by running the server yourself.

For a Mac that runs things, the terminal is the honest route.

If the Mac is a mini under the desk running builds, a media server, or a coding agent through the night, you do not need its pixels, and shipping them to a phone is the heaviest way to move text. Remote Login gives you the shell for free, and with keys and a named user it is safe at home. What SSH does not give you is a session that survives you: background the SSH app on the phone and the shell, and whatever was running in it, is gone unless you started it inside tmux. And it still needs a path in — the forward, the VPN, the client on every device.

spawnd is that route with the network problem and the persistence problem removed. One daemon runs on the Mac — it runs on macOS and Linux — and dials out, so nothing listens on the Mac, no port is forwarded, and no VPN is needed. Each session’s PTY is owned by a worker process on the Mac, so a session survives the closed tab, the dropped connection, the laptop lid, and a daemon restart, scrollback intact. Any browser is the console; on a phone it installs to the home screen as a web app — no client app, no keys on the device. A new device is approved once against a short code, and revoking it is one click every host honors. Your browser talks to each daemon peer-to-peer, end-to-end encrypted, and the server that introduces them never sees session content. It is open source, MIT/Apache-2.0.

It is not screen sharing and does not pretend to be — for the monthly GUI job keep Screen Sharing or RustDesk beside it. For the daily shell the Mac stops needing a hole in the router or a client on every device; if you keep Tailscale for the rest, Tailscale stuck on Starting… is the fix page for the day it hangs.

Start

One line on the Mac, and it dials out.

$curl -fsSL https://spawnd.dev/install.sh | sh
Sign up free
Install the daemon

Questions

Can I remote into my Mac from an iPhone?
Yes. For the screen, RustDesk, Chrome Remote Desktop, and Jump Desktop all have iOS apps; for a shell, any SSH app reaches Remote Login. Away from home you still need a path in — a VPN such as Tailscale, a port forward, or a tool that relays for you. spawnd takes the shell route with no app and no port: the browser on the phone is the console.
Does Back to My Mac still exist?
No. Apple switched it off for every version of macOS on 1 July 2019. Its suggested replacements were iCloud Drive for files and Apple Remote Desktop or Screen Sharing for control, neither of which crosses a router on its own.
What is the difference between Screen Sharing and Remote Management?
Both serve the Mac’s screen over VNC on port 5900. Remote Management adds what Apple Remote Desktop needs — software distribution, reports, remote commands — and the two switches are mutually exclusive: turn one on and the other greys out.