iCloud を利用して自宅の Mac へ SSH する – talkabout

iCloud を利用して自宅の Mac へ SSH する – talkabout

結構有名ネタですが、次に書くネタの基礎になるのでメモ。iCloud で「どこでも My Mac」を有効にしていると、Apple から独自のグローバルのホスト名と IPv6 アドレスが割り当てられます。

これを利用すれば、自宅の Mac や遠隔地の iCloud に登録してある Mac へ SSH が可能というわけです。これは地味に便利です。

前提として、iCloud で「どこでも My Mac」を有効にし、リモートログインも有効にしておく必要があります。( [システム環境設定] –  [共有] で [ファイル共有]  と [リモートログイン] を有効にする。)

どの Mac でもいいので、「どこでも My Mac」のアカウント番号を確認します。

$ dns-sd -E  Looking for recommended registration domains:  Timestamp     Recommended Registration domain  15:39:54.510  Added     (More)               local  15:39:54.511  Added                          icloud.com                                               - > btmm                                               - - > members                                               - - - > 123456789  

最後に表示される9桁の番号が、「どこでも My Mac」のアカウント番号。
これで、iCloud から提供されている Mac のホスト名がわかります。

<computer-name>.<account-number>.members.btmm.icloud.com  

以上の組み合わせが Apple から提供されているグローバルのホスト名。
Mac のコンピューター名( [システム環境設定] – [共有] で確認できます。「talkabout-no-computer.local」と表示されていれば、「.local」を省いたところがコンピューター名です。)とアカウント番号を組み合わせると以下のとおり。

talkabout-no-computer.123456789.members.btmm.icloud.com  

あとは、このホストに対して外部から SSH するだけ。

$ ssh <account-name>@talkabout-no-computer.123456789.members.btmm.icloud.com  Password:  

これで、どこからでも自宅の Mac にいつでもログイン出来ます(電源が入っていれば)。Mac はルーターの中にいても OK。ルーターのポートマッピングなどの設定も必要なし!

SSH が出来るということは・・・ SSH の Port forwarding を使えばアレが出来るんじゃないか?というワケで次回に続きます。