Czy można użyć usługi DNS z powrotem do mojego Maca lub informacji o routingu z wiersza poleceń?

8

Często chcę ssh na komputerze Mac i chciałbym skorzystać z iCloud, aby wyszukać informacje o routingu IP / DNS. Czy można to zrobić bez rejestracji w dynamicznej usłudze DNS i skonfigurowania jej na każdym komputerze Mac oprócz iCloud?

Załóżmy, że mój wszechobecny komputer Mac w domowej nazwie hosta to „maui” i działa na nim Snow Leopard. Kiedy mam laptopa podłączonego do sieci domowej, mogę ssh maui.local. Na pewno byłoby miło móc, ssh maui.whatever.icloud.comczy cokolwiek by działało. Zgaduję, że potrzebowałbym słowa „maui” i mojej nazwy iCloud, aby poinformować, do której maszyny z mojego konta należy dotrzeć.

Czy ktoś wie, czy jest to możliwe za pomocą interfejsu API lub wiersza poleceń? Przeglądałem publiczne informacje dla programistów kilka razy, ale nie widzę nic obiecującego. Wszelkie wskazówki lub przykłady kodu byłyby mile widziane.

PS Proszę nie sugerować bezpłatnych kont DNS, ponieważ naprawdę interesuję się MobileMe wyłącznie na to pytanie. Wiem, że będą działać, ale staram się unikać instalowania czegokolwiek innego lub innej zależności konta / zewnętrznej na tych komputerach Mac.

bmike
źródło
Fajny pomysł, +1 i mam nadzieję, że dostaniesz odpowiedź.
ConstantineK,
Widzę, jak Apple nie chciałby narażać użytkowników na to, ponieważ jest to ryzyko dla prywatności, ale na pewno byłoby fajnie mieć interfejs API do tego.
bmike
1
Zobacz także: Ten sam problem dla OS X 10.7 Lion (jest nieco inny). apple.stackexchange.com/questions/53719/…
drfrogsplat

Odpowiedzi:

9

Zmieniło się to nieco w wersji 10.7 i należy zauważyć, że używa prawie całkowicie IPv6, więc testuj ping6i traceroute6debuguj różne rzeczy.

To już nie jest zrobione przez @computername.mobilemename.members.mac.com, jest już zrobione przez members.btmm.icloud.comi nie jest już tak proste jak twoje mobilemename.

Krok 1: Znajdź swoją domenę iCloud BTMM

Każde z tych poleceń zapewni domenę BTMM:

# dns-sd -E
# mDNS -E

Dane wyjściowe są sformatowane nieco inaczej, ale szukasz identyfikatora numerycznego, będzie to coś w rodzaju 12345678.members.btmm.icloud.com.

Krok 2: Wyświetl komputery

Możesz użyć tych narzędzi do przeglądania tej domeny w poszukiwaniu usług, np. Serwerów ssh:

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

Lub jeśli znasz już nazwę hosta, po prostu uzyskaj do niej bezpośredni dostęp jako computer-name.12345678.members.btmm.icloud.com. (Wszelkie spacje w nazwie komputera będą łącznikami w tej domenie).

Możesz uzyskać do niego dostęp tylko z komputera skonfigurowanego dla BTMM na tym samym koncie, ponieważ ta nazwa hosta zostanie przekształcona na adres IPv6, który tak naprawdę jest końcem zaszyfrowanego tunelu sieciowego między komputerami BTMM.

Jeśli chcesz zobaczyć adres IPv6 dla konkretnego hosta, możesz wpisać

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

I wyświetli coś takiego:

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

Krok 3: Połącz

# ssh [email protected]

Uwaga

Nie jestem pewien, czy ta liczba kiedykolwiek się zmieni, więc być może będziesz musiał powtórzyć krok 1 w pewnym momencie później ...

drfrogsplat
źródło
Znakomity! Nie jestem zdecydowany, czy edytować pytanie, aby pasowało do Lwa, czy zadać inne. Łączę się z nowym pytaniem, abyś mógł „odpowiedzieć” na pytanie Lwa - ta odpowiedź jest bardzo przydatna.
bmike
3

Przeczytałem kilka artykułów na temat podstaw Back To My Mac i podobno niektórzy ludzie skutecznie nawiązali połączenie za pośrednictwem ssh, sprawdź dyskusję zawartą w tym poście Macworld .

Najlepszy post w wątku jest następujący:

Użyj następującego formatu do łączenia się jako innej nazwy użytkownika:

ssh nazwa_użytkownika@nazwa_hosta.nazwa_użytkownika.members.mac.com.

Jeśli robisz to regularnie i chcesz zaoszczędzić konieczności ciągłego używania nazwy użytkownika dla ssh i scp, a następnie utwórz plik o nazwie ~ / .ssh / config z następującymi treściami:

Host nazwa_hosta.username.members.mac.com. Użytkownik nazwa.użytkownika

Host host2.some.domain.com. Nazwa użytkownika 2 Port 2222 LocalForward 3389 wewnętrzny-komputer: 3389

Drugi host w tym pliku obejmuje również korzystanie z portu innego niż 22 i zezwalanie na dostęp do komputera z systemem Windows o nazwie komputer wewnętrzny z usługą Pulpit zdalny, łącząc się z hostem lokalnym za pomocą klienta usług pulpitu zdalnego.

Teraz Apple oczywiście zmieniło .mac na MobileMe, więc nie wiem, czy to zmieniło się na .me.com, i szczerze mówiąc, nie mam konta MobileMe, aby je przetestować.

Edycja: Kolejny interesujący post, który możesz wypróbować, znajduje się na bardzo niskim poziomie

Okazuje się, że jest to jeszcze łatwiejsze! : P

wystarczy otworzyć Terminal, przejdź do Shell> Nowe połączenie zdalne ...

następnie wybierz ssh i tam masz swój komputer BackToMyMac na liście (jeśli system operacyjny go widzi).

wpisz swoją nazwę użytkownika i kliknij Połącz.

voila, możesz nawet zobaczyć użyty ciąg połączenia. Możesz także użyć ftp / sftp ... z tego okna dialogowego do zdalnego komputera Mac.

O wiele łatwiej niż wpisanie komendy powłoki jak sugerowane w oryginalnej końcówce.

ConstantineK
źródło
Niestety to nie działa dla mnie. Mogę doskonale korzystać z wyszukiwarki i udostępniania ekranu, dzięki czemu wiem, że konta i komputery są uruchomione. Najnowsze kapsułki czasu z aktualnym oprogramowaniem układowym to routery dla obu komputerów Mac. Czy ktoś miał dla nich tę pracę w ciągu ostatnich dwóch tygodni?
bmike
Hot dang! ostatnia wskazówka była. ping i host nie działają, ale ssh działa. Ta końcówka terminalu jest NIESAMOWITA.
bmike
Słodkie! Miło, że mogłem pomóc.
ConstantineK,
3

Możesz ssh na maszynie, która ma włączoną funkcję „Bac to my Mac”:

ssh -p 22 [email protected]
ghoppe
źródło
1
Czy naprawdę musisz mu powiedzieć, aby używał domyślnego portu?
ConstantineK
ping, host i ssh do trzech oddzielnych nazw komputerów z trzema różnymi mobilemename nie działa. Otrzymuję host yy.xx.members.mac.com not found: 3(NXDOMAIN)błędy z prób hosta i ssh: Could not resolve hostname yy.xx.members.mac.com: nodename nor servname provided, or not knownwszystkie trzy działają z powrotem do udostępniania ekranu Mac przed i po niepowodzeniu prób ping, hosta i ssh. Jakiego adresu IP serwera DNS używasz, aby to zadziałało?
bmike
Mimo że host i ping nie działają - ssh zaczął dla mnie działać. Będę grał trochę i zaznaczę odpowiedź, kiedy stwierdzę, że jest lepiej.
bmike
I nie - wydaje mi się, że nie muszę wzywać numerów portów dla sftp lub ssh - ale nie za bardzo boli je mieć ;-)
bmike
hostnie działa, ponieważ używa programu rozpoznawania nazw DNS, a nie systemu rozpoznawania nazw. pingnie działa, ponieważ BTTM używa IPv6. Spróbuj ping6zamiast tego, a zobaczysz, że odpowiada.
bahamat
2

Wynika to z faktu, że adresy IP dla rozdzielczości są w wersji 6.

Jeśli używasz ping6 lub traceroute6, możesz również skontaktować się z hostem.

pst
źródło
To jest spoko. Dziękuję bardzo za dodanie tego. Czy masz coś przeciwko, jeśli dodam twoje informacje do mojej powyższej odpowiedzi, gdy będę miał okazję sprawdzić, czy to działa dla mnie? +2 do @pst
bmike
2

Wielkie dzięki dla płytami i ghoppe którzy mieli zarówno praktycznych rozwiązań. Głównym problemem jest to, że MobileMe Back To My Mac używa adresowania IPv6, jeśli jest dostępny i być może wyłącznie, więc nie pomyślałem o użyciu ping6 lub traceroute6, a ssh jest najwyraźniej wystarczająco inteligentny, aby rozwiązać IPv4 lub IPv6.

ssh -p 22 [email protected]. działa dla mnie bardzo niezawodnie podczas testowania.

Ponieważ ten zadziałał mi się jak się spodziewałem ping, a hosti nslookupdo pracy, ja figura będę znosić piękny podsumowanie tego, co pracował dla mnie. (ze zdjęciami! - Naprawdę lubię zdjęcia)

Podsumowując sftp, ssh, ping6, i traceroute6powinien działać z tym schematem nazewnictwa.

Wbudowany terminal Apple (i iTerm ) jest świetny, aby upewnić się, że nazwa użytkownika i zdalna krótka nazwa są poprawne. Nazwa jest krótką nazwą hosta (co zostanie hostnamewydrukowane) i niekoniecznie dłuższa nazwa udostępniania, którą Finder pokaże dla zdalnego komputera Mac).

krótka nazwa hosta

Oto, co pokazuje Terminal, gdy odkrywa działające maszyny Back To My Mac. Elementem menu jest Nowe połączenie zdalne ... a skrót to Shift+ Command+ K. Pokazuje, jak nazwa wyszukiwarki „Mikey's Mac” może być inna niż krótka nazwa hosta mi

wprowadź opis zdjęcia tutaj

bmike
źródło
1
Dobra kompleksowa odpowiedź z screenami +1
ConstantineK
płyty mają jeden b: p
ConstantineK