Я часто хочу подключиться к Mac по ssh и хотел бы использовать iCloud для поиска информации о маршрутизации IP / DNS. Можно ли это сделать, не подписываясь на службу динамического DNS и не настраивая ее на каждом Mac в дополнение к iCloud?
Давайте предположим, что мой постоянный компьютер Mac на дому называется «maui», и на нем работает Snow Leopard. Когда я на своем ноутбуке подключен к домашней сети, я могу ssh maui.local
. Конечно, было бы неплохо иметь возможность ssh maui.whatever.icloud.com
или что-то, что сработало бы. Я предполагаю, что мне понадобится "maui" и мое имя iCloud, чтобы сообщить, какая машина под моей учетной записью нуждается в доступе.
Кто-нибудь знает, возможно ли это через API или командную строку? Я просматривал информацию для публичного разработчика несколько раз, но не вижу ничего перспективного. Любые указатели или примеры кода будут приветствоваться.
PS Пожалуйста, не предлагайте бесплатные учетные записи DNS, так как я действительно заинтересован в MobileMe исключительно для этого вопроса. Я знаю, что они будут работать, но я стараюсь не устанавливать что-либо еще или другую учетную запись / внешнюю зависимость на этих компьютерах Mac.
Ответы:
Это немного изменилось с 10.7, и вы должны заметить, что он использует IPv6 почти полностью, так что тестируйте
ping6
иtraceroute6
отлаживайте вещи.Это больше не сделано через
@computername.mobilemename.members.mac.com
, это теперь сделано черезmembers.btmm.icloud.com
, и это больше не так просто, как вашаmobilemename
.Шаг 1: Узнайте свой домен iCloud BTMM
Любая из этих команд предоставит ваш домен BTMM:
Выходные данные отформатированы немного по-другому, но вам нужен числовой идентификатор, это будет что-то вроде
12345678.members.btmm.icloud.com
.Шаг 2: Список компьютеров
Вы можете использовать эти инструменты для просмотра этого домена для сервисов, например, для ssh-серверов:
Или, если вы уже знаете имя хоста, просто обратитесь к нему напрямую
computer-name.12345678.members.btmm.icloud.com
. (Любые пробелы в имени вашего компьютера будут дефисами в этом домене).Вы можете получить к нему доступ только с компьютера, который также настроен для BTMM с той же учетной записью, поскольку это имя хоста преобразуется в адрес IPv6, который действительно является концом зашифрованного сетевого туннеля между компьютерами BTMM.
Если вы хотите увидеть адрес IPv6 для определенного хоста, вы можете набрать
И это выведет что-то вроде:
Шаг 3: Подключение
Запись
Я не уверен, что это число когда-нибудь изменится, поэтому вам может понадобиться повторить шаг 1 в какой-то момент позже ...
источник
Я прочитал несколько статей о поддержке Back To My Mac и, возможно, некоторые люди эффективно подключились через ssh, ознакомьтесь с обсуждением, содержащимся в этом сообщении Macworld .
Лучший пост в ветке выглядит следующим образом:
Теперь, очевидно, Apple переключила .mac на MobileMe, поэтому я не знаю, перешел ли он на .me.com, и, честно говоря, у меня нет учетной записи MobileMe для тестирования.
Редактировать: еще один интересный пост, который вы можете попробовать, находится в самом низу
источник
Вы можете подключиться к вашей машине по протоколу ssh, на котором включен «Bac to my Mac»:
источник
host yy.xx.members.mac.com not found: 3(NXDOMAIN)
ошибки от попыток хоста, иssh: Could not resolve hostname yy.xx.members.mac.com: nodename nor servname provided, or not known
все три работают с моим общим доступом к экрану Mac до и после неудачных попыток ping, host и ssh. Какой IP-адрес DNS-сервера вы используете, чтобы заставить это работать?host
не работает, потому что использует DNS-преобразователь, а не системный.ping
не работает, потому что BTTM использует IPv6. Попробуйтеping6
вместо этого, и вы увидите, что он отвечает.Это потому, что IP-адреса для разрешения версии 6.
Если вы используете ping6 или traceroute6, вы также можете связаться с вашим хостом.
источник
Большое спасибо конфорок и ghoppe которые оба были работоспособные решения. Основная проблема заключается в том, что MobileMe Back To My Mac использует адресацию IPv6, если она доступна и, возможно, исключительно, поэтому я не думал использовать ping6 или traceroute6, а ssh, по-видимому, достаточно умен, чтобы разрешать IPv4 или IPv6.
ssh -p 22 username@computername.mobilemename.members.mac.com.
у меня сегодня очень надежно работает в тестировании.Так как это споткнулся меня , как я ожидал ,
ping
иhost
иnslookup
к работе, я полагаю , что я потерплю хороший обзор того , что работал для меня. (с картинками! - мне очень нравятся картинки)Подводя итог
sftp
,ssh
,ping6
иtraceroute6
должны работать с этой схемой именования.Встроенный терминал Apple (и iTerm ) отлично подходит для того, чтобы убедиться, что ваше имя пользователя и удаленное краткое имя верны. Имя - это короткое имя хоста (которое
hostname
выводится на печать) и не обязательно более длинное разделяемое имя, которое Finder покажет для удаленного Mac).Вот что показывает Терминал, когда обнаруживает работающие машины Back To My Mac. Пункт меню - Новое удаленное соединение ... и ярлык - Shift+ Command+ K. Он показывает, как имя поиска "Mac Mikey" может отличаться от короткого имени хоста mi
источник