¿Es posible utilizar el DNS de Volver a mi Mac o la información de enrutamiento desde la línea de comandos?

A menudo quiero conectarme a una Mac y me encantaría usar iCloud para buscar información de enrutamiento de IP/DNS. ¿Se puede hacer esto sin registrarse en un servicio de DNS dinámico y configurarlo en cada Mac además de iCloud?

Supongamos que el nombre de host de mi Mac en casa todo el tiempo es "maui" y está ejecutando Snow Leopard. Cuando estoy en mi computadora portátil conectada a la red doméstica, puedo ssh maui.local. Seguro que sería bueno poder hacerlo ssh maui.whatever.icloud.como lo que sea que funcione. Supongo que necesitaría "maui" y mi nombre de iCloud para saber a qué máquina de mi cuenta se necesita acceder.

¿Alguien sabe si esto es posible a través de la API o la línea de comandos? He examinado la información pública para desarrolladores varias veces, pero no veo nada prometedor. Cualquier puntero o ejemplo de código sería bienvenido.

PD Por favor, no sugiera cuentas DNS gratuitas ya que estoy realmente interesado en MobileMe exclusivamente para esta pregunta. Sé que funcionarán, pero estoy buscando evitar instalar cualquier otra cosa u otra cuenta/dependencia externa en estas Mac.

Buena idea, +1 y espero que obtengas una respuesta.
Puedo ver cómo Apple no querría exponer a los usuarios a esto, ya que es un riesgo para la privacidad, pero seguro que sería genial tener una API para esto.
Ver también: El mismo problema para OS X 10.7 Lion (es un poco diferente). apple.stackexchange.com/questions/53719/…

Respuestas (5)

Esto ha cambiado un poco con 10.7 y querrá tener en cuenta que esto usa IPv6 casi por completo, así que pruebe ping6y traceroute6depure las cosas.

Ya no se hace a través @computername.mobilemename.members.mac.comde , ahora se hace a través members.btmm.icloud.comde , y ya no es tan simple como su mobilemename.

Paso 1: Descubra su dominio BTMM de iCloud

Cualquiera de estos comandos proporcionará su dominio BTMM:

# dns-sd -E
# mDNS -E

La salida tiene un formato ligeramente diferente, pero lo que busca es la identificación numérica, será algo así como 12345678.members.btmm.icloud.com.

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, 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 sus computadoras BTMM.

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 generará 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 deba o no repetir el paso 1 en algún momento más adelante...

¡Brillante! No estoy seguro de si editar la pregunta para que se ajuste a Lion o hacer otra. Voy a vincular a la nueva pregunta para que pueda "responder" la pregunta del León: esta respuesta es muy útil.

Leí algunos artículos sobre la base de Back To My Mac y supuestamente algunas personas se conectaron efectivamente a través de ssh, consulte la discusión contenida en esta publicación de Macworld .

El mejor post del hilo es el siguiente:

Use el siguiente formato para conectarse como un nombre de usuario diferente:

ssh nombre.usuario@nombrehost.nombreusuario.members.mac.com.

Si hace esto regularmente y desea evitar tener que usar el nombre de usuario todo el tiempo para ssh y scp, cree un archivo llamado ~/.ssh/config con contenidos como los siguientes:

Host hostname.username.members.mac.com. Usuario nombre.usuario

Host host2.algún.dominio.com. Usuario nombre de usuario 2 Puerto 2222 LocalForward 3389 internal-pc:3389

El segundo host en este archivo también incluye el uso de un puerto diferente al 22 y permitir el acceso a una computadora con Windows llamada internal-pc con Remote Desktop al conectarse a localhost con Remote Desktop Client.

Ahora, obviamente, Apple cambió .mac a MobileMe, así que no sé si eso cambió a .me.com y, francamente, no tengo una cuenta de MobileMe para probarlo.

Editar: otra publicación interesante que quizás quieras probar está en la parte inferior

¡Resulta que es aún más fácil! :PAG

simplemente abra la Terminal, vaya a Shell> Nueva conexión remota...

luego elija ssh y allí tiene su computadora BackToMyMac en la lista (si el sistema operativo lo ve).

escriba su nombre de usuario y haga clic en conectar.

listo, incluso puedes ver la cadena de conexión utilizada. Y también puede usar ftp/sftp... desde este cuadro de diálogo a su Mac remota.

Mucho más fácil que escribir algún comando de shell como se sugiere en la sugerencia original.

Lamentablemente esto no funciona para mí. Puedo usar el buscador y compartir la pantalla perfectamente, así que sé que las cuentas y las máquinas están en funcionamiento. Las Time Capsules recientes con firmware actualizado son enrutadores para ambas Mac. ¿Alguien ha tenido este trabajo para ellos en las últimas dos semanas?
¡Maldita sea! el último consejo fue eso. ping y host no funcionan, pero ssh sí. Esa punta terminal es IMPRESIONANTE.
¡Dulce! Encantado de ayudar.

Puede ssh a su máquina que tiene "Bac to my Mac" habilitado de esta manera:

ssh -p 22 username@computername.mobilemename.members.mac.com
¿Realmente tienes que decirle que use el puerto predeterminado?
El ping, el host y el ssh a tres nombres de computadora separados con tres nombres de móvil diferentes están fallando. Recibo host yy.xx.members.mac.com not found: 3(NXDOMAIN)errores de intentos de host y ssh: Could not resolve hostname yy.xx.members.mac.com: nodename nor servname provided, or not knownlos tres funcionan con el uso compartido de pantalla de mi Mac antes y después de que fallan los intentos de ping, host y ssh. ¿Qué IP del servidor DNS está utilizando para que esto funcione?
Aunque el host y el ping no funcionan, ssh comenzó a funcionar para mí. Jugaré un poco y marcaré una respuesta una vez que descubra cuál es mejor.
Y no, parece que no necesito llamar a los números de puerto para sftp o ssh , pero no duele mucho tenerlos ;-)
hostno funciona porque está usando la resolución de DNS, no la resolución del sistema. pingno funciona porque BTTM usa IPv6. Prueba ping6en su lugar y verás que responde.
¿No te pide una contraseña?

Eso es porque las direcciones IP para la resolución son la versión 6.

Si usa ping6 o traceroute6, también puede comunicarse con su host.

Eso es genial. Muchas gracias por agregar esto. ¿Le importa si agrego su información a mi respuesta anterior una vez que tenga la oportunidad de ver si funciona para mí? +2 a @pst

Muchas gracias a hobs y ghoppe , ya que ambos tenían soluciones viables. El principal problema es que MobileMe Back To My Mac usa direcciones IPv6 si están disponibles y tal vez de forma exclusiva, por lo que no pensé en usar ping6 o traceroute6 y ssh aparentemente es lo suficientemente inteligente como para resolver IPv4 o IPv6.

ssh -p 22 username@computername.mobilemename.members.mac.com.funciona de manera muy confiable para mí en las pruebas de hoy.

Dado que esto me hizo tropezar como esperaba y pingfuncionó , creo que pondré un buen resumen de lo que funcionó para mí. (¡con fotos! - Me gustan mucho las fotos)hostnslookup

Para resumir sftp, ssh, ping6y traceroute6deberían funcionar con este esquema de nombres.

El terminal incorporado de Apple (e iTerm ) es excelente para asegurarse de que su nombre de usuario y su nombre corto remoto sean correctos. El nombre es el nombre de host abreviado (lo que se hostnameimprime) y no necesariamente el nombre compartido más largo que Finder mostrará para la Mac remota).

nombre de host corto

Esto es lo que muestra la Terminal cuando descubre máquinas Back To My Mac en ejecución. El elemento del menú es Nueva conexión remota... y el acceso directo es Shift++ Command. KMuestra cómo el nombre del buscador "Mikey's Mac" puede ser diferente del nombre de host corto mi

ingrese la descripción de la imagen aquí

Buena respuesta completa con screenies +1
placas tiene una b :p