Puis-je utiliser l'adresse mDNS de Back To My Mac et pour ssh et tout autre routage du trafic?

24

Sur Lion et iCloud, l'ancien nom mDNS MobileMe et Snow Leopard a changé et ne fonctionne plus.

Je me demande comment utiliser les outils de ligne de commande pour trouver le nom DNS qu'Apple a attribué à mon Mac. Je veux utiliser ce nom DNS sur d'autres appareils qui ne sont pas OSX (comme Invite sur mon iPad / iPhone) pour revenir sur mon Mac lorsque je suis en déplacement.

bmike
la source

Réponses:

36

Mise à jour

Il existe un moyen très simple de simplement SSH vers un ordinateur BTMM / iCloud:

Dans Terminal, dans le menu Shell , sélectionnez Nouvelle connexion à distance ... (cmd + shift + K). De là, vous pouvez parcourir par hôtes ssh / sftp / ftp / telnet sur le réseau local ou BTMM.

C'est évidemment beaucoup plus facile pour les applications individuelles qui prennent en charge la recherche iCloud / BTMM (par exemple, vous verrez également les partages de fichiers dans la barre latérale du Finder et les appareils aéroportuaires distants dans Airport Utility), mais je laisserai les instructions complètes ci-dessous pour les cas d'utilisation plus arbitraires.


Pour les outils de ligne de commande, Apple a remplacé l'ancien <computer-name>.<mobileme-name>.members.mac.com, par <computer-name>.<numeric-id>.members.btmm.icloud.com(où le <numeric_id>champ est un numéro généré automatiquement pour votre identifiant Apple).

Étape 1: Découvrez votre domaine iCloud BTMM

Tout d'abord, recherchez votre domaine à l'aide de l'outil de découverte de service DNS:

# dns-sd -E

La sortie est formatée légèrement maladroitement, mais ce que vous recherchez est l'ID numérique, qui devrait être sur la dernière ligne. Vous recherchez le domaine complet, quelque chose comme 12345678.members.btmm.icloud.com, cependant dns-sd, l'affichera (en quelque sorte) dans l'ordre inverse, sur des lignes distinctes:

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

Vous devrez également appuyer sur ctrl+ Caprès qu'il affiche les informations que vous recherchez (il est conçu pour continuer à écouter et à mettre à jour). Ceci s'applique à chaque utilisation de dns-sd, ici et ci-dessous.

Étape 2: répertorier les ordinateurs

Vous pouvez utiliser ces outils pour parcourir ce domaine pour les services, par exemple pour les serveurs ssh:

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

Ou si vous connaissez déjà le nom d'hôte, accédez-y directement en tant que computer-name.12345678.members.btmm.icloud.com. (Tous les espaces dans le nom de votre ordinateur seront des tirets dans ce domaine).

Vous ne pouvez y accéder qu'à partir d'un ordinateur qui est également configuré pour BTMM sur le même compte Apple ID, car ce nom d'hôte se résoudra en une adresse IPv6 qui est vraiment la fin d'un tunnel réseau crypté entre les ordinateurs BTMM de votre Apple ID.

Si vous souhaitez voir l'adresse IPv6 pour un hôte spécifique, vous pouvez taper

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

Et cela affichera quelque chose comme:

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

Étape 3: se connecter

# ssh [email protected]

Remarque

Je ne sais pas si ce nombre changera jamais, donc vous devrez peut-être répéter l'étape 1 à un moment donné plus tard ... le mien est statique depuis quelques années maintenant.

drfrogsplat
la source
13

Ce n'est pas ma méthode préférée, mais l'application Terminal interroge également votre compte iCloud pour tous les ordinateurs Back To My Mac qui ont un enregistrement actuel.

Dans le menu Shell - Nouvelle connexion à distance ... + +K

Ceci est très pratique pour configurer une nouvelle connexion à domicile ssh / sftp lorsque vous n'êtes pas sur Internet local ou que votre serveur DNS ne recherchera pas les enregistrements AAAA qui correspondent à votre hôte actuel.12346789.members.btmm.icloud.com. réservation de domaine.

bmike
la source
Que faire si le nom de l'ordinateur comporte des espaces? Cela semble tout gâcher D:
Alexander - Rétablir Monica
1
remplacer les espaces par des tirets. Exemple: "Work iMac" serait "Work-iMac"
Michael Irey
C'est utile. Terminal.app vous donne même la sshcommande résultante que vous pouvez ensuite coller dans iTerm ou tout ce que vous utilisez réellement.
jogloran
10

Voici la réponse à votre question…

Je viens d'apprendre une astuce pour trouver votre nom de domaine BTMM

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

source: https://gist.github.com/1856804 par skyisle

Mais voici pourquoi cela ne vous aide toujours pas…

Cependant, notez que même si vous connaissez le domaine BackToMyMac, vous ne pouvez l'utiliser que si vous vous connectez à partir d'un ordinateur connecté également connecté à «BackToMyMac». Cela ne fonctionnera pas directement via Prompt.

(Je pense qu'Apple considère cela comme une fonctionnalité liée à la sécurité. Sinon, n'importe qui sur Internet pourrait essayer d'accéder à vos Mac s'ils connaissaient le nom de domaine BTMM.)

Il existe d'autres sites sur le Web qui feront de l'hébergement DNS dynamique pour vous. J'utilise DynDNS depuis des années, mais ils sont de plus en plus axés sur le commerce (auparavant, ils pouvaient obtenir 5 noms d'hôtes dynamiques gratuits, maintenant c'est 1, et vous ne pouvez l'obtenir qu'en leur donnant un numéro de carte de crédit et en essayant l'un de leurs services premium, puis l'annuler).

Je n'ai pas utilisé http://www.no-ip.com/ mais ils ont aussi un client de mise à jour Mac (qui se mettra automatiquement à jour chaque fois que l'adresse IP de votre Mac change) et ils vous donneront trois noms d'hôte gratuits si vous créez un compte gratuit (aucune information de carte de crédit nécessaire).

Notez que cela ne fonctionne pas aussi facilement que BTMM car vous devez toujours vous assurer que vous avez des ports ouverts sur votre routeur, etc. Cependant, cela fonctionnera avec Prompt et d'autres hôtes.

TJ Luoma
la source
Vous avez cloué l'ongle sur la tête à la condition qu'actuellement un Mac soit requis pour utiliser BTMM aux deux extrémités.
bmike
Les raisons de sécurité sont bonnes. Ensuite, ce serait merveilleux de pouvoir accéder à mon Mac à la maison depuis mon iPhone, n'importe où ... Juste via iCloud et aucun système tiers.
Jonny