Posso usare l'indirizzo mDNS di Back To My Mac e per il routing del traffico ssh e altro?


24

Su Lion e iCloud, la vecchia denominazione mDNS MobileMe e Snow Leopard è cambiata e non funziona più.

Mi chiedo come utilizzare gli strumenti da riga di comando per scoprire il nome DNS che Apple ha assegnato al mio Mac. Voglio usare quel nome DNS su altri dispositivi che non sono OSX (come Prompt sul mio iPad / iPhone) per tornare sul mio Mac quando sono in giro.

Risposte:


36

Aggiornare

Esiste un modo molto semplice per semplicemente SSH su un computer BTMM / iCloud:

In Terminale, nel menu Shell selezionare Nuova connessione remota ... (cmd + maiusc + K). Da qui è possibile navigare per host ssh / sftp / ftp / telnet sulla rete locale o BTMM.

Questo è ovviamente molto più semplice per le singole app che supportano la ricerca iCloud / BTMM (ad es. Vedrai anche condivisioni di file nella barra laterale di Finder e dispositivi aeroportuali remoti in Utility Aeroporto), ma lascerò le istruzioni complete di seguito per i casi d'uso più arbitrari.


Per gli strumenti da riga di comando, Apple ha sostituito il vecchio <computer-name>.<mobileme-name>.members.mac.com, con <computer-name>.<numeric-id>.members.btmm.icloud.com(dove il <numeric_id>campo è un numero generato automaticamente per il tuo ID Apple).

Passaggio 1: scopri il tuo dominio iCloud BTMM

Innanzitutto, cerca il tuo dominio utilizzando lo strumento di rilevazione del servizio DNS:

# dns-sd -E

L'output è formattato in modo leggermente imbarazzante, ma quello che stai cercando è l'ID numerico, che dovrebbe essere sull'ultima riga. Stai cercando l'intero dominio, qualcosa del genere 12345678.members.btmm.icloud.com, tuttavia dns-sdlo visualizzerai (in un certo senso) in ordine inverso, su righe separate:

23:41:33.309  Added                          icloud.com
                                             - > btmm
                                             - - > members
                                             - - - > 12345678

Dovrai anche premere ctrl+ Cdopo aver visualizzato le informazioni che stai cercando (è progettato per continuare ad ascoltare e aggiornare). Questo vale per ogni uso di dns-sd, qui e sotto.

Passaggio 2: elenco dei computer

Puoi usare questi strumenti per cercare quel dominio in cerca di servizi, ad es. Per server ssh:

# dns-sd -B _ssh 12345678.members.btmm.icloud.com

O se conosci già il nome host, accedilo direttamente come computer-name.12345678.members.btmm.icloud.com. (Tutti gli spazi nel nome del tuo computer saranno trattini in questo dominio).

Puoi accedervi solo da un computer configurato anche per BTMM sullo stesso account ID Apple, poiché questo nome host si risolverà in un indirizzo IPv6 che è in realtà la fine di un tunnel di rete crittografato tra i computer BTMM del tuo ID Apple.

Se si desidera visualizzare l'indirizzo IPv6 per un host specifico, è possibile digitare

# dns-sd -G v6 computer-name.12345678.members.btmm.icloud.com

E mostrerà qualcosa del tipo:

17:37:47.504  Add     2  0 computer-name.12345678.members.btmm.icloud.com. FD11:993E:64AE:4DEA:011F:FBD1:F444:11A1%<0>  152

Passaggio 3: Connetti

# ssh username@computer-name.12345678.members.btmm.icloud.com

Nota

Non sono sicuro se quel numero cambierà mai, quindi potresti aver bisogno o meno di ripetere il passaggio 1 ad un certo punto in seguito ... il mio è statico da parecchi anni ormai.


13

Questo non è il mio metodo preferito, ma l'app Terminale esegue anche il polling del tuo account iCloud per tutti i computer Back To My Mac che ha una registrazione corrente.

Nel menu Shell - Nuova connessione remota ... + +K

Questo è abbastanza utile per impostare una nuova connessione ssh / sftp a casa quando non sei su Internet locale o il tuo server DNS non cercherà i record AAAA che corrispondono al tuo host attuale. 12346789.members.btmm.icloud.com. prenotazione del dominio.


Cosa succede se il nome del computer ha spazi? Questo sembra rovinare tutto D:
Alexander - Ripristina Monica il

1
sostituire gli spazi con trattini. Esempio: "Work iMac" sarebbe "Work-iMac"
Michael Irey,

Questo è utile Terminal.app ti dà anche il sshcomando risultante che puoi quindi incollare in iTerm o qualunque cosa tu stia effettivamente usando.
Jogloran,

10

Ecco la risposta alla tua domanda ...

Ho appena imparato un modo elegante per trovare il tuo nome di dominio BTMM

echo show Setup:/Network/BackToMyMac | scutil | sed -n 's/.* : *\(.*\).$/\1/p'

fonte: https://gist.github.com/1856804 di skyisle

Ma ecco perché non ti aiuta ancora ...

Tuttavia, si noti che anche se si conosce il dominio BackToMyMac, è possibile utilizzarlo solo se ci si connette da un computer collegato anche connesso a "BackToMyMac". Esso non lavorare direttamente tramite prompt.

(Credo che Apple lo consideri una funzionalità legata alla sicurezza. Altrimenti chiunque su Internet potrebbe provare ad accedere ai tuoi Mac se conoscesse il nome di dominio BTMM.)

Esistono altri siti Web che eseguiranno l'hosting DNS dinamico per te. Ho usato DynDNS per anni, ma sono diventati sempre più focalizzati sul commercio (era in grado di ottenere 5 nomi host dinamici gratuiti, ora è 1, e puoi ottenerlo solo dando loro un numero di carta di credito e provando uno dei loro servizi premium e quindi annullarlo).

Non ho usato http://www.no-ip.com/ ma hanno anche un client di aggiornamento Mac (che si aggiornerà automaticamente ogni volta che cambia l'indirizzo IP del tuo Mac) e ti daranno tre nomi host gratuiti se crei un account gratuito (non sono necessarie informazioni sulla carta di credito).

Nota che questo non funziona così facilmente come BTMM perché devi comunque assicurarti di avere porte aperte sul tuo router, ecc. Tuttavia, funzionerà con Prompt e da altri host.


Hai inchiodato l'unghia sulla testa a condizione che attualmente sia necessario un Mac per utilizzare BTMM su entrambe le estremità.
bmike

I motivi di sicurezza vanno bene. Quindi sarebbe meraviglioso poter accedere al mio Mac a casa dal mio iPhone, ovunque ... Solo tramite iCloud e nessun sistema di terze parti.
Jonny il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.