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.
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).
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-sd
wird 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.
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
# ssh username@computer-name.12345678.members.btmm.icloud.com
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.
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
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.
Alexander
Michael
jogloran
ssh
Befehl, den Sie dann in iTerm oder was auch immer Sie tatsächlich verwenden, einfügen können.