One of the less well publicised features of Apple’s iCloud service is Back To My Mac.
This service provides a private IPv6 network which you can use to securely connect all your Mac hosts.
To use BTMM you will need to upgrade all your Macs to OS X Lion and sign them all into the same Apple iCloud account. You will also need your unique BTMM account number.
When you are signed into iCloud you can discover your BTMM account number as follows:
$ dns-sd -E Looking for recommended registration domains: Timestamp Recommended Registration domain 12:07:46.550 Added (More) local 12:07:46.550 Added icloud.com - > btmm - - > members - - - > 123456789
The final line shows your individual BTMM account number.
For example, if you Computer Name (set in System Preferences > Sharing) is mymac and your BTMM account number is 123456789, then the fully qualified domain name of the host is mymac.123456789.members.btmm.icloud.com
.
If you have spaces in your Computer Name then replace them with dashes, e.g. “My Mac” becomes the hostname my-mac.
To test connectivity to your remote host use ping6, e.g.
ping6 mymac.123456789.members.btmm.icloud.com
To list all the SSH enabled hosts on your domain:
dns-sd -B _ssh._tcp
You would SSH into your host using this command:
ssh -2 -6 username@mymac.123456789.members.btmm.icloud.com
Note that you will only be able to communicate with the other hosts on your iCloud private network if the Mac you are using is also signed into the same iCloud account.
You can also use an open SSH connection to access your non-Apple hosts on your internal network by using SSH port forwarding. This tunnels the destination traffic over the BTMM private network via your remote Mac.
For example, if you have a web server running on a host with the IP address 192.168.1.2 then you can use this SSH command to set-up a forwarded port:
ssh -2 -6 -L 8080:192.168.1.2:80 username@mymac.123456789.members.btmm.icloud.com
To access the remote host from your local machine you would go to http://127.0.0.1:8080/
Brilliant – the only explanation I have found of how Lion/iCloud BTMM works and how to control remote login that not only works, but is actually intelligible!
(and I had googled most of the known internet before landing here)
SHH Connection into your iCloud/BTMM enabled Mac is built into Terminal as well 😉
Open Terminal >> File >> New Remote Connection
Your BTMM computers should appear and you can just double click them
Pingback: Bookmarks for 24th July 2012 | Lednor.Com
-L is great, so is -R sometimes for NAT but in this situation -D is really much easier because you can set the proxy as a SOCKS proxy in System Preferences under Network, Advanced. That way you can use software like Adium, CoRD and your browsers through the tunnel.
Pingback: Chris Miller - Using Sequel Pro with Back To My Mac
Whats interesting is that if you have multiple users, with separate iCloud accounts, the dns-sd -E command lists all BTMM accounts on your computer.
i’m having problems with this since a network update. I can never see my remote office computer, but when I’m at work i can see my remote home computers?!
And i seem to have 2 btmm numbers?
dns-sd -E
Looking for recommended registration domains:
DATE: —Thu 06 Aug 2015—
13:02:06.223 …STARTING…
Timestamp Recommended Registration domain
13:02:06.224 Added (More) local
13:02:06.224 Added (More) icloud.com
– > btmm
– – > members
– – – > 64577XXX
13:02:06.224 Added icloud.com
– > btmm
– – > members
– – – > 109262XXX
How can this be?
Do you have more than one registered iCloud account?
Preferences > Internet Accounts
Pingback: Can I restart my Mac remotely via screen sharing if the screen shows only linen? - PhotoLens
Pingback: Can I restart my Mac remotely via screen sharing if the screen shows only linen? - Best Way