¿Puedo usar la dirección mDNS de Back To My Mac y para ssh y otras rutas de tráfico?

En Lion e iCloud, la antigua denominación mDNS de MobileMe y Snow Leopard ha cambiado y ya no funciona.

Me pregunto cómo usar las herramientas de línea de comandos para averiguar el nombre DNS que Apple ha asignado a mi Mac. Quiero usar ese nombre dns en otros dispositivos que no son OSX (como Prompt en mi iPad/iPhone) para volver a mi Mac cuando estoy fuera de casa.

Respuestas (3)

Actualizar

Hay una forma muy sencilla de conectarse mediante SSH a una computadora BTMM/iCloud:

En Terminal, en el menú Shell , seleccione Nueva conexión remota... (cmd+shift+K). Desde aquí puede navegar por hosts ssh/sftp/ftp/telnet en la red local o BTMM.

Obviamente, esto es mucho más fácil para las aplicaciones individuales que admiten la búsqueda de iCloud/BTMM (por ejemplo, también verá archivos compartidos en la barra lateral de Finder y dispositivos remotos de Airport en Airport Utility), pero dejaré las instrucciones completas a continuación. para los casos de uso más arbitrarios.


Para las herramientas de línea de comandos, Apple ha reemplazado el antiguo <computer-name>.<mobileme-name>.members.mac.comcon <computer-name>.<numeric-id>.members.btmm.icloud.com(donde el <numeric_id>campo es un número generado automáticamente para su ID de Apple).

Paso 1: Descubra su dominio BTMM de iCloud

Primero, busque su dominio usando la herramienta de Descubrimiento de Servicio DNS:

# dns-sd -E

La salida tiene un formato un poco incómodo, pero lo que busca es la identificación numérica, que debe estar en la última línea. Está buscando el dominio completo, algo así como 12345678.members.btmm.icloud.com, sin embargo, dns-sdlo mostrará (más o menos) en orden inverso, en líneas separadas:

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

También deberá presionar ctrl+ Cdespués de que muestre la información que busca (está diseñado para continuar escuchando y actualizando). Esto se aplica a cada uso de dns-sd, aquí y a continuación.

Paso 2: enumerar las computadoras

Puede usar estas herramientas para buscar servicios en ese dominio, por ejemplo, para servidores ssh:

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

O si ya conoce el nombre de host, simplemente acceda a él directamente como computer-name.12345678.members.btmm.icloud.com. (Cualquier espacio en el nombre de su computadora será guiones en este dominio).

Solo puede acceder a esto desde una computadora que también esté configurada para BTMM en la misma cuenta de ID de Apple, porque este nombre de host se resolverá en una dirección IPv6 que es realmente el final de un túnel de red encriptado entre las computadoras BTMM de su ID de Apple.

Si desea ver la dirección IPv6 de un host específico, puede escribir

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

Y mostrará algo como:

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

Paso 3: Conectar

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

Nota

No estoy seguro de si ese número cambiará alguna vez, por lo que es posible que necesite o no repetir el Paso 1 en algún momento más adelante... el mío ha estado estático durante bastantes años.

Este no es mi método preferido, pero la aplicación Terminal también sondea su cuenta de iCloud para todas las computadoras Back To My Mac que tienen un registro actual.

En el menú Shell - Nueva conexión remota... + +K

Esto es bastante útil para configurar una nueva conexión ssh/sftp en casa cuando no está conectado a Internet local o su servidor dns no buscará los registros AAAA que coincidan con su host actual.12346789.members.btmm.icloud.com. reserva de dominio.

¿Qué pasa si el nombre de la computadora tiene espacios? Eso parece arruinar todo D:
reemplace los espacios con guiones. Ejemplo: "Work iMac" sería "Work-iMac"
Esto es útil. Terminal.app incluso le brinda el sshcomando resultante que luego puede pegar en iTerm o lo que realmente use.

Aquí está la respuesta a tu pregunta…

Acabo de aprender una forma ingeniosa de encontrar su nombre de dominio BTMM

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

fuente: https://gist.github.com/1856804 por skyisle

Pero he aquí por qué eso todavía no te ayuda...

Sin embargo, tenga en cuenta que incluso si conoce el dominio BackToMyMac, solo puede usarlo si se conecta desde una computadora que también está conectada a 'BackToMyMac'. No funcionará directamente a través de Prompt .

(Creo que Apple considera que esto es una característica relacionada con la seguridad. De lo contrario, cualquier persona en Internet podría intentar obtener acceso a sus Mac si supiera el nombre de dominio BTMM).

Hay otros sitios en la web que harán alojamiento de DNS dinámico por usted. He usado DynDNS durante años, pero se han enfocado más y más comercialmente (solía poder obtener 5 nombres de host dinámicos gratuitos, ahora es 1, y solo puede obtener ese dándoles un número de tarjeta de crédito y probando uno de sus servicios premium y luego cancelarlo).

No he usado http://www.no-ip.com/ pero también tienen un cliente de actualización de Mac (que se actualizará automáticamente cada vez que cambie la dirección IP de su Mac) y le darán tres nombres de host gratuitos si crea una cuenta gratuita. (no se necesita información de tarjeta de crédito).

Tenga en cuenta que esto no funciona tan fácilmente como BTMM porque aún debe asegurarse de tener puertos abiertos en su enrutador, etc. Sin embargo, funcionará con Prompt y desde otros hosts.

Ha clavado el clavo en la cabeza con la condición de que actualmente se requiere una Mac para usar BTMM en ambos extremos.
Las razones de seguridad están bien. Entonces sería maravilloso poder conectarme a mi Mac en casa desde mi iPhone, en cualquier lugar... Solo a través de iCloud y sin sistemas de terceros.