Back To My MacのmDNSアドレスを使用して、sshおよびその他のトラフィックのルーティングに使用できますか?


24

LionおよびiCloudでは、古いMobileMeおよびSnow LeopardのmDNS命名が変更され、機能しなくなりました。

Appleが私のMacに割り当てたDNS名を見つけるために、コマンドラインツールを使用する方法を疑問に思っています。OSXではない他のデバイス(iPad / iPhoneのプロンプトなど)でそのDNS名を使用して、外出中にMacにsshを戻します。

回答:


36

更新

BTMM / iCloudコンピューターにSSHで接続する簡単な方法があります。

ターミナルのシェルメニューで、[ 新しいリモート接続...](cmd + shift + K)を選択します。ここから、ローカルまたはBTMMネットワーク上のssh / sftp / ftp / telnetホストで参照できます。

これは、iCloud / BTMMルックアップをサポートする個々のアプリにとって明らかに簡単です(たとえば、Finderのサイドバーにファイル共有が表示され、Airport Utilityにリモートの空港デバイスが表示されます)。よりarbitrary意的なユースケースのために。


コマンドラインツールの場合、Appleは古い<computer-name>.<mobileme-name>.members.mac.com<computer-name>.<numeric-id>.members.btmm.icloud.com<numeric_id>フィールドはApple IDに対して自動的に生成された番号です)に置き換えました 。

ステップ1:iCloud BTMMドメインを調べる

最初に、DNSサービス検出ツールを使用してドメインを検索します。

# dns-sd -E

出力はやや扱いにくい形式になっていますが、後は​​最終的な行にある数値IDです。あなたは完全なドメインの後にいますが、のようなものですが12345678.members.btmm.icloud.comdns-sd逆の順序で別の行に表示します:

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

また、必要な情報が表示された後にctrl+ を押す必要がありCます(リスニングと更新を継続するように設計されています)。これはdns-sd、ここおよび以下のの各使用に適用されます。

ステップ2:コンピューターをリストする

これらのツールを使用して、たとえばsshサーバーなどのサービスのドメインを参照できます。

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

または、ホスト名がすでにわかっている場合は、として直接アクセスしますcomputer-name.12345678.members.btmm.icloud.com。(コンピューター名のスペースは、このドメインのハイフンになります)。

このホスト名は、実際にApple IDのBTMMコンピューター間の暗号化されたネットワークトンネルの終わりであるIPv6アドレスに解決されるため、同じApple IDアカウントでBTMM用に設定されているコンピューターからのアクセスできます。

特定のホストのIPv6アドレスを表示する場合は、次のように入力できます

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

そして次のように表示されます:

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

ステップ3:接続

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

注意

その数が変わるかどうかはわかりませんので、後のステップでステップ1を繰り返す必要があるかもしれませんし、そうでないかもしれません。


13

これは私の好みの方法ではありませんが、Terminalアプリは、現在登録されているすべてのBack To My MacコンピューターのiCloudアカウントもポーリングします。

下のシェルメニュー- 新しいリモート接続... + +K

これは、ローカルインターネット上にない場合、またはDNSサーバーが現在のhost.12346789.members.btmm.icloud.comに一致するAAAAレコードを検索しない場合に、新しいssh / sftp接続ホームをセットアップするのに非常に便利です。ドメイン予約。


コンピューター名にスペースが含まれている場合はどうなりますか?D:
アレクサンダー-モニカーの復活

1
スペースをダッシュ​​に置き換えます。例:「仕事のiMacは、」「ワークのiMac」だろう
マイケルIrey

これは便利です。Terminal.appは結果のsshコマンドを提供し、iTermまたは実際に使用するものに貼り付けることができます。
ジョグロラン14

10

これがあなたの質問に対する答えです…

BTMMドメイン名を見つけるための気の利いた方法を学びました

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

ソース:https : //gist.github.com/1856804 by skyisle

しかし、それでもなお助けにならない理由は…

ただし、BackToMyMacドメインを知っていても、「BackToMyMac」にログインしているコンピューターに接続している場合にのみ使用できます。それはなりませんプロンプト経由で直接動作します。

(Appleはこれをセキュリティ関連の機能と考えています。そうしないと、インターネット上の誰もがBTMMドメイン名を知っていれば、Macにアクセスしようとする可能性があります。)

Webには、動的DNSホスティングを行うサイトが他にもあります。私は何年もDynDNSを使用していましたが、ますます商業的に焦点を合わせてきました(5つの無料の動的ホスト名を取得できるように使用されていましたが、現在は1です。プレミアムサービスの1つで、その後キャンセルします)。

http://www.no-ip.com/は使用していませんが、Macアップデートクライアントもあり(MacのIPアドレスが変更されると自動的に更新されます)、無料のアカウントを作成すると3つの無料のホスト名が与えられます(クレジットカード情報は必要ありません)。

ルーターなどでポートを開いていることを確認する必要があるため、これはBTMMほど簡単には機能しません。ただし、Promptおよび他のホストからは機能します。


現在、両端でBTMMを使用するにはMacが必要であるという条件で、頭に釘を打ちました。
bmike

セキュリティ上の理由は問題ありません。そうすれば、どこからでもiPhoneから自宅のMacにsshで接続できるのは素晴らしいことです... iCloudを介して、サードパーティのシステムを介さずに。
ジョニー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.