Kann ich die mDNS-Adresse von "Zurück zu meinem Mac" und für ssh und andere Weiterleitung des Datenverkehrs verwenden?

Auf Lion und iCloud hat sich die alte mDNS-Benennung von MobileMe und Snow Leopard geändert und funktioniert nicht mehr.

Ich frage mich, wie ich Befehlszeilentools verwenden kann, um den DNS-Namen herauszufinden, den Apple meinem Mac zugewiesen hat. Ich möchte diesen DNS-Namen auf anderen Geräten verwenden, die nicht OSX sind (wie Prompt auf meinem iPad/iPhone), um per SSH zurück zu meinem Mac zu gelangen, wenn ich unterwegs bin.

Antworten (3)

Aktualisieren

Es gibt eine sehr einfache Möglichkeit, einfach SSH mit einem BTMM/iCloud-Computer zu verbinden:

Wählen Sie im Terminal im Shell - Menü Neue Remote-Verbindung ... (cmd + Umschalt + K). Von hier aus können Sie nach ssh/sftp/ftp/telnet-Hosts im lokalen oder BTMM-Netzwerk suchen.

Dies ist natürlich viel einfacher für die einzelnen Apps, die die iCloud/BTMM-Suche unterstützen (z. B. sehen Sie auch Dateifreigaben in der Seitenleiste von Finder und entfernte Flughafengeräte in Airport Utility), aber ich lasse die vollständigen Anweisungen unten für die willkürlicheren Anwendungsfälle.


Für Befehlszeilentools hat Apple das alte <computer-name>.<mobileme-name>.members.mac.com, durch ersetzt <computer-name>.<numeric-id>.members.btmm.icloud.com(wobei das <numeric_id>Feld eine automatisch für Ihre Apple-ID generierte Nummer ist).

Schritt 1: Finden Sie Ihre iCloud BTMM-Domain heraus

Suchen Sie zuerst Ihre Domain mit dem DNS Service Discovery Tool:

# dns-sd -E

Die Ausgabe ist etwas umständlich formatiert, aber was Sie suchen, ist die numerische ID, die in der letzten Zeile stehen sollte. Sie sind hinter der vollständigen Domain her, so etwas wie 12345678.members.btmm.icloud.com, dns-sdwird sie jedoch (irgendwie) in umgekehrter Reihenfolge in separaten Zeilen anzeigen:

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

ctrlSie müssen auch + drücken, Cnachdem die gewünschten Informationen angezeigt wurden (es wurde entwickelt, um das Zuhören und Aktualisieren fortzusetzen). Dies gilt für jede Verwendung von dns-sd, hier und im Folgenden.

Schritt 2: Computer auflisten

Sie können diese Tools verwenden, um diese Domain nach Diensten zu durchsuchen, z. B. nach SSH-Servern:

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

Oder wenn Sie den Hostnamen bereits kennen, greifen Sie einfach direkt als computer-name.12345678.members.btmm.icloud.com. (Alle Leerzeichen in Ihrem Computernamen werden in dieser Domäne zu Bindestrichen).

Sie können darauf nur von einem Computer zugreifen, der auch für BTMM auf demselben Apple-ID-Konto eingerichtet ist, da dieser Hostname in eine IPv6-Adresse aufgelöst wird, die wirklich das Ende eines verschlüsselten Netzwerktunnels zwischen den BTMM-Computern Ihrer Apple-ID ist.

Wenn Sie die IPv6-Adresse für einen bestimmten Host sehen möchten, können Sie Folgendes eingeben

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

Und es wird so etwas wie angezeigt:

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

Schritt 3: Verbinden

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

Notiz

Ich bin mir nicht sicher, ob sich diese Zahl jemals ändern wird, also müssen Sie Schritt 1 möglicherweise später wiederholen oder nicht ... meine ist seit einigen Jahren statisch.

Dies ist nicht meine bevorzugte Methode, aber die Terminal-App fragt auch Ihr iCloud-Konto nach allen Back To My Mac-Computern ab, für die eine aktuelle Registrierung vorhanden ist.

Unter dem Shell - Menü - Neue Remote-Verbindung ... + +K

Dies ist sehr praktisch, um eine neue ssh/sftp-Verbindung zu Hause einzurichten, wenn Sie nicht im lokalen Internet sind oder Ihr DNS-Server nicht nach den AAAA-Einträgen sucht, die Ihrem aktuellen host.12346789.members.btmm.icloud.com entsprechen. Domainreservierung.

Was ist, wenn der Computername Leerzeichen enthält? Das scheint alles durcheinander zu bringen D:
Ersetzen Sie die Leerzeichen durch Bindestriche. Beispiel: „Arbeit iMac“ wäre „Arbeit-iMac“
Das ist nützlich. Terminal.app gibt Ihnen sogar den resultierenden sshBefehl, den Sie dann in iTerm oder was auch immer Sie tatsächlich verwenden, einfügen können.

Hier ist die Antwort auf Ihre Frage…

Ich habe gerade eine raffinierte Methode kennengelernt, um Ihren BTMM-Domainnamen zu finden

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

Quelle: https://gist.github.com/1856804 von skyisle

Aber hier ist, warum dir das immer noch nicht hilft …

Beachten Sie jedoch, dass Sie die BackToMyMac-Domain selbst dann, wenn Sie sie kennen , nur verwenden können, wenn Sie sich von einem Computer verbinden, der auch bei „BackToMyMac“ angemeldet ist. Es funktioniert nicht direkt über Prompt.

(Ich glaube, Apple hält dies für eine sicherheitsrelevante Funktion. Andernfalls könnte jeder im Internet versuchen, Zugriff auf Ihre Macs zu erhalten, wenn er den BTMM-Domänennamen kennt.)

Es gibt andere Websites im Internet, die dynamisches DNS-Hosting für Sie übernehmen. Ich benutze DynDNS seit Jahren, aber sie sind immer kommerzieller ausgerichtet (früher war es möglich, 5 kostenlose dynamische Hostnamen zu bekommen, jetzt ist es 1, und Sie können diesen nur bekommen, indem Sie ihnen eine Kreditkartennummer geben und es ausprobieren eines ihrer Premium-Dienste und anschließende Kündigung).

Ich habe http://www.no-ip.com/ nicht verwendet , aber sie haben auch einen Mac-Update-Client (der automatisch aktualisiert wird, wenn sich die IP-Adresse Ihres Macs ändert) und sie geben Ihnen drei kostenlose Hostnamen, wenn Sie ein kostenloses Konto erstellen (keine Kreditkarteninformationen erforderlich).

Beachten Sie, dass dies nicht so einfach funktioniert wie BTMM, da Sie immer noch sicherstellen müssen, dass Sie offene Ports auf Ihrem Router usw. haben. Es funktioniert jedoch mit Prompt und von anderen Hosts.

Sie haben den Nagel auf den Kopf getroffen mit der Maßgabe, dass derzeit ein Mac erforderlich ist, um BTMM an beiden Enden zu verwenden.
Sicherheitsgründe sind in Ordnung. Dann wäre es wunderbar, wenn ich mich von überall aus mit meinem iPhone auf meinen Mac zu Hause sshen könnte ... Nur über iCloud und ohne Systeme von Drittanbietern.