Чи можу я використовувати mDNS-адресу назад до мого Mac, а також для ssh та іншої маршрутизації трафіку?


24

У Lion та iCloud старі імена MobileMe та Snow Leopard mDNS змінилися і більше не працюють.

Мені цікаво, як за допомогою інструментів командного рядка дізнатися ім'я DNS, яке Apple призначила моєму Mac. Я хочу використовувати це ім'я dns на інших пристроях, які не є OSX (наприклад, Підказка на моєму iPad / iPhone), щоб повернутись назад до свого Mac, коли я не збираюся.

Відповіді:


36

Оновлення

Існує дуже простий спосіб просто SSH на комп'ютер BTMM / iCloud:

У Терміналі в меню Shell виберіть Нове віддалене підключення ... (cmd + shift + K). Звідси ви можете переглядати хости ssh / sftp / ftp / telnet в локальній або BTMM-мережі.

Це, очевидно, набагато простіше для окремих додатків, які підтримують пошук iCloud / BTMM (наприклад, ви також побачите файли спільного доступу у бічній панелі Finder та віддалених пристроїв аеропорту в аеропорту Utility), але повну інструкцію я залишу нижче для більш довільних випадків використання.


Що стосується інструментів командного рядка, Apple замінила старий <computer-name>.<mobileme-name>.members.mac.com, на <computer-name>.<numeric-id>.members.btmm.icloud.com(де <numeric_id>поле - це автоматично створене число для вашого ідентифікатора Apple).

Крок 1. Дізнайтеся свій домен iCloud BTMM

Спочатку знайдіть свій домен за допомогою інструмента виявлення служби DNS:

# dns-sd -E

Вихід форматований трохи незграбно, але те, що ви хочете, - це числовий ідентифікатор, який повинен бути в останньому рядку. Ви перебуваєте після повного домену, щось подібне 12345678.members.btmm.icloud.com, однак dns-sdвідображатиме його (вид) у зворотному порядку в окремих рядках:

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

Вам також потрібно буде натиснути клавішу ctrl+ Cпісля того, як вона відобразить інформацію, яку ви шукаєте (вона призначена для продовження прослуховування та оновлення). Це стосується кожного використання dns-sdтут і нижче.

Крок 2: Список комп'ютерів

Ви можете використовувати ці інструменти для перегляду цього домену для служб, наприклад, для ssh-серверів:

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

Або якщо ви вже знаєте ім'я хоста, просто перейдіть до нього безпосередньо як computer-name.12345678.members.btmm.icloud.com. (У цьому домені будь-які пробіли у вашому імені комп’ютера будуть дефісами).

Ви можете отримати доступ до цього лише з комп’ютера, який також налаштований для BTMM у тому ж обліковому записі Apple ID, оскільки це ім'я хоста визначатиметься адресою IPv6, яка справді є кінцем зашифрованого мережевого тунелю між комп'ютерами BTMM Apple ID.

Якщо ви хочете побачити адресу IPv6 для конкретного хоста, можете ввести

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

І відобразиться щось на зразок:

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

Крок 3: Підключіться

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

Примітка

Я не впевнений, чи зміниться ця кількість колись, тож вам може знадобитися або не потрібно повторювати Крок 1 в якийсь момент пізніше ... моє статичне вже досить багато років.


13

Це не мій бажаний метод, але додаток Terminal також опитує ваш обліковий запис iCloud для всіх комп’ютерів Back To My Mac, які мають поточну реєстрацію.

У меню Shell - Нове віддалене з'єднання ... + +K

Це досить зручно, щоб налаштувати нове домашнє з'єднання ssh / sftp, коли ви не в локальному Інтернеті або ваш dns-сервер не шукатиме записи AAAA, які відповідають вашому поточному хосту.12346789.members.btmm.icloud.com. бронювання домену


Що робити, якщо в імені комп'ютера є пробіли? Це, здається, перекриває все D:
Олександр - Поновіть Моніку

1
замініть пробіли тире. Приклад: "Work iMac" буде "Work-iMac"
Майкл Ірі

Це корисно. Terminal.app навіть дає вам отриману sshкоманду, яку потім можна вставити в iTerm або будь-що, що ви фактично використовуєте.
jogloran

10

Ось відповідь на ваше запитання ...

Щойно я дізнався чудовий спосіб знайти ваше доменне ім’я BTMM

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

джерело: https://gist.github.com/1856804 від skyisle

Але ось чому це все одно не допомагає вам ...

Однак зауважте, що навіть якщо ви знаєте домен BackToMyMac, ви можете ним користуватися, лише якщо ви підключаєтесь до підключеного комп'ютера, який також увійшов у "BackToMyMac". Він не працюватиме безпосередньо через Prompt.

(Я вважаю, що Apple вважає це функцією, що стосується безпеки. Інакше кожен в Інтернеті може спробувати отримати доступ до ваших Macs, якби знав доменне ім'я BTMM.)

В Інтернеті є й інші сайти, які будуть робити динамічний хостинг DNS для вас. Я використовую DynDNS роками, але вони все більше комерційно орієнтовані (раніше можна було отримати 5 безкоштовних динамічних імен хостів, зараз це 1, і ви можете отримати це лише, давши їм номер кредитної картки та спробуйте одна з їхніх преміальних послуг, а потім її скасування).

Я не використовував http://www.no-ip.com/, але у них є клієнт для оновлення Mac (який автоматично оновлюється щоразу, коли зміниться IP-адреса вашого Mac), і вони дадуть вам три безкоштовних імені хоста, якщо ви створите безкоштовний обліковий запис (інформація про кредитну карту не потрібна).

Зауважте, що це працює не так просто, як BTMM, оскільки вам все одно потрібно переконатися, що на маршрутизаторі є відкриті порти і т. Д. Однак він буде працювати з Prompt та з іншими хостами.


Ви прибили цвях на голову за умови, що в даний час для використання Mac потрібно використовувати BTMM на обох кінцях.
bmike

Причини безпеки - це добре. Тоді було б чудово мати змогу перейти на свій Mac вдома зі свого iPhone, де завгодно ... Просто через iCloud та без сторонніх систем.
Джоні
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.