È possibile utilizzare Back To My Mac DNS o informazioni di routing dalla riga di comando?

8

Spesso desidero eseguire l'ssh su un Mac e mi piacerebbe utilizzare iCloud per cercare le informazioni di routing IP / DNS. Questo può essere fatto senza registrarsi per un servizio DNS dinamico e configurarlo su ogni Mac oltre a iCloud?

Supponiamo che il mio Mac al momento dell'hostname di casa sia "maui" e che stia eseguendo Snow Leopard. Quando sono collegato al mio laptop alla rete domestica, posso ssh maui.local . Sarebbe bello essere in grado di ssh maui.whatever.icloud.com o qualunque cosa funzionerebbe. Suppongo che mi serva "maui" e il mio nome iCloud per far sapere quale macchina deve raggiungere il mio account.

Qualcuno sa se questo è possibile tramite API o riga di comando? Ho sfogliato più volte le informazioni degli sviluppatori pubblici ma non vedo nulla di promettente. Qualsiasi suggerimento o esempio di codice sarebbe benvenuto.

P.S. Si prega di non suggerire account DNS gratuiti perché sono veramente interessato a MobileMe esclusivamente per questa domanda. So che funzioneranno, ma sto cercando di evitare di installare qualcos'altro o un altro account / dipendenza esterna su questi Mac.

    
posta bmike 13.05.2011 - 05:52
fonte

5 risposte

9

Questo è cambiato un po 'con 10.7 e vorrai notare che questo usa IPv6 quasi interamente, quindi prova con ping6 e traceroute6 per eseguire il debug delle cose.

Non viene più eseguito tramite @computername.mobilemename.members.mac.com , ora viene eseguito tramite members.btmm.icloud.com e non è più semplice come mobilemename .

Passaggio 1: individua il dominio iCloud BTMM

Ciascuno di questi comandi fornirà il tuo dominio BTMM:

# dns-sd -E
# mDNS -E

L'output è formattato in modo leggermente diverso, ma quello che stai cercando è l'ID numerico, sarà qualcosa come 12345678.members.btmm.icloud.com .

Passaggio 2: elenca i computer

Puoi utilizzare questi strumenti per sfogliare quel dominio per i servizi, ad es. per i server ssh:

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

O se conosci già il nome host, accedi direttamente come computer-name.12345678.members.btmm.icloud.com . (Qualsiasi spazio nel nome del tuo computer sarà trattino in questo dominio).

Puoi solo accedere a questo da un computer che è anche configurato per BTMM sullo stesso account, perché questo hostname si risolverà in un indirizzo IPv6 che è in realtà la fine di un tunnel di rete crittografato tra i tuoi computer BTMM.

Se vuoi vedere l'indirizzo IPv6 per un host specifico, puoi digitare

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

E produrrà 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 [email protected]

Nota

Non sono sicuro che quel numero cambierà mai, quindi potresti dover o meno ripetere il Passo 1 in un momento successivo ...

    
risposta data 04.05.2012 - 09:43
fonte
3

Ho letto alcuni articoli sulla base di Back To My Mac e presumibilmente alcune persone si sono effettivamente collegate tramite ssh, controlla la discussione contenuta in questo post Macworld .

Il miglior post nella discussione è il seguente:

Use the following format for connecting as a differnent username:

ssh [email protected].

If you do this regularly and wish to save having to use the username all the time for ssh and scp then create a file called ~/.ssh/config with contents like the following:

Host hostname.username.members.mac.com. User user.name

Host host2.some.domain.com. User username2 Port 2222 LocalForward 3389 internal-pc:3389

The second host in this file also includes using a port other than 22 and allowing access to a Windows computer called internal-pc with Remote Desktop by connecting to localhost with the Remote Desktop Client.

Ora ovviamente Apple ha cambiato .mac in MobileMe, quindi non so se è passato a .me.com, e sinceramente non ho un account MobileMe per testarlo.

Modifica: Un altro post interessante che vorresti provare è quello in basso

Turns out it is even easier! :P

just open the Terminal go to Shell > New Remote Connection...

then choose ssh and there you have your BackToMyMac Computer listed (if the OS sees it).

type in your username and click connect.

voila, you can even see the connection string used. And you can also use ftp/sftp... from this dialog to your remote Mac.

Way easier than typing in some shell command like suggested in the original tip.

    
risposta data 13.05.2011 - 22:19
fonte
3

Puoi ssh sulla tua macchina che ha "Bac to my Mac" abilitato in questo modo:

ssh -p 22 [email protected]
    
risposta data 13.05.2011 - 22:30
fonte
2

Questo perché gli indirizzi IP per la risoluzione sono la versione 6.

Se usi ping6 o traceroute6 puoi anche raggiungere il tuo host.

    
risposta data 07.06.2011 - 05:49
fonte
2

Grandi grazie a piani di cottura e ghoppe che entrambi avevano soluzioni praticabili. Il problema principale è che MobileMe Back To My Mac utilizza l'indirizzamento IPv6 se disponibile e forse esclusivamente, quindi non pensavo di usare ping6 o traceroute6 e ssh è apparentemente abbastanza intelligente da risolvere IPv4 o IPv6.

ssh -p 22 [email protected]. funziona in modo molto affidabile per me nei test di oggi.

Poiché questo mi ha fatto incavolare perché mi aspettavo che ping e host e nslookup funzionassero, immagino che presenterò un bel riassunto di ciò che ha funzionato per me. (con foto! - Mi piacciono molto le foto)

Per riepilogare sftp , ssh , ping6 e traceroute6 dovrebbero funzionare con questo schema di denominazione.

Il terminale integrato di Apple (e iTerm ) è ottimo per assicurarti che il tuo nome utente e il tuo nome abbreviato siano corretti. Il nome è il nome host breve (cosa hostname stampa) e non necessariamente il nome di condivisione più lungo che Finder mostrerà per il Mac remoto.

EccocosamostrailterminalequandorilevaicomputerdiBackToMyMacinesecuzione.LavocedimenuèNuovaconnessioneremota...elascorciatoiaèMaiusc+Comando+K.Mostracomeilnomedelcercatore"Il Mac di Mikey" potrebbe essere diverso dal nome host breve mi

    
risposta data 13.05.2011 - 23:42
fonte

Leggi altre domande sui tag