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.com
o 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.
Esto ha cambiado un poco con 10.7 y querrá tener en cuenta que esto usa IPv6 casi por completo, así que pruebe ping6
y traceroute6
depure las cosas.
Ya no se hace a través @computername.mobilemename.members.mac.com
de , ahora se hace a través members.btmm.icloud.com
de , y ya no es tan simple como su mobilemename
.
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
.
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
# ssh username@computer-name.12345678.members.btmm.icloud.com
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...
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.
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
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 known
los 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?host
no funciona porque está usando la resolución de DNS, no la resolución del sistema. ping
no funciona porque BTTM usa IPv6. Prueba ping6
en su lugar y verás que responde.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.
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 ping
funcionó , creo que pondré un buen resumen de lo que funcionó para mí. (¡con fotos! - Me gustan mucho las fotos)host
nslookup
Para resumir sftp
, ssh
, ping6
y traceroute6
deberí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 hostname
imprime) y no necesariamente el nombre compartido más largo que Finder mostrará para la Mac remota).
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
ConstantineK
bmike
drfrogsplat