SSD Nodes Learn Hosting plans →
Guide Matt ConnorDi Matt Connor

Tailscale su Mac: quale delle tre versioni installare

Standalone, Mac App Store o tailscaled open source? Cosa cambia per aggiornamenti, Apple ID, tailscale ssh ed exit node, e come raggiungere la tua VPS dal Mac.

Quale versione di Tailscale installare sul Mac

Per usare Tailscale su Mac, installa la versione Standalone. È la scelta che Tailscale stessa indica come predefinita, e copre tutto quello che serve per raggiungere una VPS dal portatile. Le altre due versioni hanno senso solo in casi precisi, e qui vediamo quali.

Se hai appena letto cos'è Tailscale e come si installa su Ubuntu, sai già che Tailscale crea una rete privata tra i tuoi dispositivi. Questa rete si chiama tailnet ed è costruita sopra WireGuard. Quella guida installa Tailscale sul server. Qui facciamo l'altro lato: il Mac. Alla fine il Mac apre una sessione SSH (secure shell) verso la VPS usando solo il suo nome. Poi usa la VPS come exit node, cioè come punto di uscita verso internet.

Tutte le funzioni citate vengono dalla tabella di confronto ufficiale di Tailscale. La pagina indica come ultima verifica il 5 gennaio 2026. L'abbiamo riletta il 5 ottobre 2026. Le funzioni cambiano da una release all'altra. Se leggi questa guida molto più tardi, ricontrolla la tabella.

Le tre versioni di Tailscale per macOS

Tailscale distribuisce tre build diverse per macOS. A ottobre 2026 tutte e tre richiedono almeno macOS Monterey 12.0.

  • Standalone. App con interfaccia grafica (GUI, graphical user interface), scaricata dal server dei pacchetti di Tailscale. Si aggiorna da sola con Sparkle, il sistema di aggiornamento usato da molte app Mac distribuite fuori dall'App Store. Non serve un Apple ID.
  • Mac App Store. La stessa app grafica, ma distribuita da Apple. Serve un Apple ID e gli aggiornamenti arrivano dall'App Store. L'app gira in una sandbox, cioè un ambiente isolato che limita quello che può fare sul sistema.
  • tailscaled open source. Solo il demone tailscaled e la CLI (command line interface, l'interfaccia a riga di comando). Nessuna icona nella barra dei menu, nessuna finestra. Il codice è interamente open source.

Le due app grafiche sembrano identiche. Le differenze stanno in poche righe della tabella. Sono però proprio le righe che contano per chi gestisce un server.

Le differenze che contano, riga per riga

Queste sono le righe della tabella ufficiale che cambiano davvero la scelta.

  • Apple ID. Lo richiede solo la versione App Store.
  • Aggiornamenti. App Store: gestiti dall'App Store. Standalone: dentro l'app, con Sparkle. tailscaled: nessun aggiornamento automatico, lo aggiorni tu.
  • Avvio prima del login. Solo tailscaled. Le due app grafiche partono quando un utente entra nel Mac. Un Mac acceso ma fermo alla schermata di login, quindi, non è raggiungibile.
  • Comando tailscale ssh. Disponibile in Standalone e in tailscaled. Non disponibile nella versione App Store. Il normale comando ssh funziona invece con tutte e tre.
  • Server Tailscale SSH. Solo tailscaled. Nessuna delle due app grafiche può ricevere connessioni Tailscale SSH.
  • Exit node. App Store e Standalone possono usare un exit node. Per tailscaled il supporto è parziale: può annunciarsi come exit node, ma non può usarne uno.
  • Funnel. La funzione che pubblica un servizio locale su internet risulta disponibile solo in tailscaled.
  • Taildrop. L'invio di file tra dispositivi funziona nelle due app grafiche. In tailscaled la tabella lo indica come incompleto.
  • MDM. La gestione centralizzata con un sistema MDM (mobile device management) è supportata dalle due app grafiche, non da tailscaled.
  • Tempo di utilizzo. La versione App Store non è compatibile con il filtro di Tempo di utilizzo (Screen Time). Standalone e tailscaled lo sono.
  • Dove sta lo stato. La versione App Store usa il portachiavi dell'utente. Standalone e tailscaled salvano lo stato in file su disco.

Le righe restanti non spostano la scelta. MagicDNS, per esempio, c'è in tutte e tre.

Standalone: la scelta predefinita

La documentazione di Tailscale è esplicita: "Always start by downloading and installing our Standalone variant". In italiano: parti sempre dalla versione Standalone. Il motivo pratico è semplice. Standalone ha tutte le funzioni dell'app App Store. In più ha il comando tailscale ssh, la compatibilità con Tempo di utilizzo e i report di configurazione completi. Non chiede un Apple ID, quindi va bene anche su un Mac aziendale dove non vuoi collegare il tuo account personale.

Standalone perde contro tailscaled solo sul lato server: non parte prima del login e non può fare da server Tailscale SSH. Per un portatile che usi tu ogni giorno, nessuna delle due cose serve.

Mac App Store: quando ha senso

Scegli la versione App Store se la tua azienda distribuisce le app solo da lì, o se vuoi che tutti gli aggiornamenti passino da un unico posto. In cambio accetti due limiti. Il primo: niente comando tailscale ssh, quindi usi il normale ssh, che come vedremo basta. Il secondo: niente compatibilità con il filtro di Tempo di utilizzo. Questo conta se il Mac è di un figlio con restrizioni attive.

C'è poi una regola che vale per tutti. Tailscale avverte di non installare mai la versione App Store e la Standalone sullo stesso Mac. Scegline una sola.

tailscaled open source: un Mac senza interfaccia

Questa versione serve in un caso preciso: un Mac mini che fa da server in ufficio o a casa. È sempre acceso, e spesso nessuno fa login. tailscaled è l'unica build che parte prima del login, ed è l'unica che può fare da server Tailscale SSH. Su un portatile personale è la scelta sbagliata, perché non può usare un exit node e non ha un'icona per accendere e spegnere la connessione.

Il wiki del progetto descrive due strade. La prima compila i sorgenti con Go. Nota che @main scarica il ramo di sviluppo, non una release stabile:

go install tailscale.com/cmd/tailscale{,d}@main
sudo $HOME/go/bin/tailscaled install-system-daemon
$HOME/go/bin/tailscale up

La seconda usa Homebrew:

brew install --formula tailscale
sudo brew services start tailscale
tailscale up

Il wiki stesso dice che questa build è pensata per utenti esperti ed è meno testata su macOS. Usa un'interfaccia utun invece dell'API Network Extension di Apple. MagicDNS inoltre non si configura da solo: devi impostare a mano 100.100.100.100 come server DNS del Mac. Per togliere il demone dal sistema il comando è sudo tailscaled uninstall-system-daemon.

Installare Standalone e approvare l'estensione di sistema

Scarica il pacchetto Standalone da pkgs.tailscale.com e installalo. Al primo avvio macOS ti chiede di approvare l'estensione di sistema di Tailscale e la configurazione VPN (virtual private network). Finché non le approvi, il Mac non entra nel tailnet.

Qui non trovi il percorso esatto dentro Impostazioni di Sistema, e non è una dimenticanza. Apple sposta queste voci a ogni versione di macOS. Un percorso scritto oggi sarebbe sbagliato alla prossima release. La guida di installazione di Tailscale per macOS è aggiornata da chi sviluppa l'app. Segui quella per i passaggi della tua versione di macOS.

Dopo l'approvazione, accedi con lo stesso account che hai usato sulla VPS. Il Mac compare nella pagina Machines della console di amministrazione, accanto al server.

Come usare il comando tailscale nel Terminale

Le app grafiche contengono anche la CLI, ma non la mettono nel PATH. Se scrivi tailscale nel Terminale prima di configurarla, zsh risponde così:

zsh: command not found: tailscale

Con Standalone, la CLI si installa dalle impostazioni dell'app, nella sezione dedicata all'integrazione con la riga di comando. Questa opzione richiede macOS Ventura 13.0 o successivo, e chiede la password di amministratore. Il risultato è un piccolo lanciatore in /usr/local/bin/tailscale.

Con la versione App Store, la CLI sta dentro il pacchetto dell'app. Puoi chiamarla con il percorso completo, oppure aggiungere un alias al tuo ~/.zshrc:

alias tailscale="/Applications/Tailscale.app/Contents/MacOS/Tailscale"

Ora controlla che il Mac veda la VPS. In questa guida la VPS si chiama vps-milano. Usa il nome della tua.

tailscale status
tailscale ping vps-milano

tailscale status deve elencare la VPS con un indirizzo che inizia con 100.. tailscale ping deve rispondere con una riga pong from vps-milano. Se quella riga termina con via DERP(...), il traffico passa da un server relay di Tailscale invece che in modo diretto. La connessione funziona, ma è più lenta. Le cause e le soluzioni sono spiegate in connessione diretta o via relay DERP in Tailscale.

Passare da una versione all'altra

Tailscale documenta un solo procedimento per cambiare versione:

  1. Cancella la Tailscale.app installata.
  2. Svuota il Cestino.
  3. Riavvia il Mac.
  4. Solo dopo il riavvio, installa l'altra versione.

Non saltare il riavvio. Se stai lasciando tailscaled, rimuovi prima il demone con sudo tailscaled uninstall-system-daemon, come indica il wiki.

SSH dal Mac alla VPS con il nome MagicDNS

MagicDNS dà un nome a ogni dispositivo del tailnet. C'è il nome breve, vps-milano, e il nome completo, del tipo vps-milano.nome-tailnet.ts.net. I tailnet creati dal 20 ottobre 2022 in poi hanno MagicDNS attivo di default. Il nome completo di ogni dispositivo è nella sua pagina, dentro Machines nella console.

Dal Mac basta questo:

ssh utente@vps-milano

Questo comando parla con il normale server OpenSSH della VPS. La differenza è il percorso: il traffico viaggia dentro il tailnet, cifrato da WireGuard, verso l'indirizzo 100.x.y.z della VPS. Funziona con tutte e tre le versioni per Mac, perché usa il client ssh di macOS.

Se il nome non si risolve, il Mac stampa:

ssh: Could not resolve hostname vps-milano: nodename nor servname provided, or not known

Prova allora con l'indirizzo: ssh utente@100.x.y.z, preso da tailscale status. Se l'indirizzo funziona e il nome no, il problema è il DNS (domain name system). Le cause sono due. MagicDNS è disattivato nel tailnet, oppure usi tailscaled e non hai impostato 100.100.100.100 come server DNS.

Quando l'accesso dal tailnet funziona, la porta 22 pubblica della VPS ti serve molto meno. Se decidi di lasciarla aperta, proteggila come spiegato in configurare fail2ban per SSH su Ubuntu 24.04.

Tailscale SSH: il Mac è il client, non il server

Tailscale SSH è una cosa diversa da ssh dentro il tailnet. Con Tailscale SSH è Tailscale stesso a ricevere le connessioni SSH sull'indirizzo del tailnet. Decide chi entra in base all'account e alla policy del tailnet, senza chiavi SSH da copiare. Lo attivi sulla VPS:

sudo tailscale set --ssh

La policy predefinita permette a ogni utente di collegarsi in Tailscale SSH ai propri dispositivi, come root o come utente normale, in check mode. In check mode il client mostra un URL e ti chiede di autenticarti di nuovo nel browser. L'autorizzazione vale poi 12 ore. Dal Mac:

tailscale ssh utente@vps-milano

Questo comando c'è in Standalone e in tailscaled. Con la versione App Store usi ssh utente@vps-milano. Il risultato è lo stesso, perché è il server a fare il lavoro di Tailscale SSH. Il client resta un normale ssh.

Ora la regola da ricordare. Un Mac con un'app grafica, Standalone o App Store, può fare da client verso un server Tailscale SSH. Non può fare da server Tailscale SSH. L'unica build per macOS che può farlo è tailscaled. Lo confermano sia la tabella di confronto sia la pagina di Tailscale SSH. Se ti serve entrare nel Mac in SSH e usi un'app grafica, la strada è il server OpenSSH incluso in macOS. Una volta attivo, è raggiungibile dal tailnet come qualsiasi altra porta.

Con Tailscale SSH l'accesso dipende dall'account e dalla policy. È quindi giusto chiedersi chi controlla quella policy. La risposta è in quanto è sicuro Tailscale e cosa vede il suo piano di controllo.

Usare la VPS come exit node dal Mac

Con un exit node, tutto il traffico internet del Mac esce dalla VPS. È utile su una rete Wi-Fi pubblica, in treno o in albergo. La procedura completa, con le regole del firewall, è in usare una VPS come exit node Tailscale. Qui trovi il minimo.

Sulla VPS, attiva l'inoltro dei pacchetti e annuncia l'exit node:

echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf
sudo tailscale set --advertise-exit-node

L'inoltro serve perché, senza, il kernel Linux scarta i pacchetti che non sono diretti alla VPS stessa. Se lo dimentichi, Tailscale avvisa con un messaggio che contiene IP forwarding is disabled. Poi un amministratore deve approvare l'exit node nella pagina Machines della console. In alternativa, puoi usare una regola autoApprovers nella policy.

Sul Mac, con Standalone o App Store, scegli la VPS dal menu Exit Nodes dell'app Tailscale. Oppure usa la CLI:

tailscale set --exit-node=vps-milano --exit-node-allow-lan-access
curl https://ifconfig.me

curl deve stampare l'indirizzo IP pubblico della VPS, non quello della tua rete. L'opzione --exit-node-allow-lan-access lascia raggiungibili i dispositivi della rete locale, per esempio la stampante di casa. Per tornare alla connessione normale: tailscale set --exit-node=. Con tailscaled questo passaggio non è possibile, perché quella build non può usare un exit node.

Se la VPS non compare nell'elenco degli exit node, quasi sempre manca l'approvazione nella console. Se compare ma il Mac perde internet appena la scegli, controlla l'inoltro sulla VPS. sysctl net.ipv4.ip_forward deve stampare net.ipv4.ip_forward = 1.

FAQ

Quale versione di Tailscale devo installare sul Mac?

La versione Standalone, scaricata da pkgs.tailscale.com. È quella che Tailscale indica come predefinita. Non richiede un Apple ID e si aggiorna da sola con Sparkle. Include il comando tailscale ssh e può usare un exit node. La versione App Store ha senso se vuoi aggiornamenti solo dall'App Store. tailscaled ha senso solo per un Mac che fa da server, senza interfaccia grafica.

Posso avere insieme la versione App Store e la versione Standalone?

No. Tailscale dice esplicitamente di non installarle sullo stesso Mac. Per passare da una all'altra, cancella Tailscale.app e svuota il Cestino. Poi riavvia il Mac, e solo dopo installa l'altra versione.

Perché il comando tailscale ssh non c'è nella versione App Store?

La tabella ufficiale di Tailscale lo segna come non disponibile nella build App Store, che gira in una sandbox. Non ti serve: usa il normale ssh utente@nome-vps. Se sulla VPS è attivo Tailscale SSH, la connessione passa comunque da Tailscale SSH, perché è il server a gestirla.

Posso collegarmi al mio Mac con Tailscale SSH?

Solo se sul Mac gira la build open source tailscaled. È l'unica build per macOS che può fare da server Tailscale SSH. Le app Standalone e App Store possono fare solo da client. Con un'app grafica puoi però attivare il server OpenSSH di macOS e raggiungerlo dal tailnet.