我可以使用Back To My Mac的mDNS地址以及ssh和其他流量路由吗?


Answers:


36

更新资料

有一种非常简单的方法可以简单地通过SSH将其连接到BTMM / iCloud计算机:

在“终端”的“ 外壳”菜单中,选择“ 新建远程连接...”(cmd + shift + K)。在这里,您可以按本地或BTMM网络上的ssh / sftp / ftp / telnet主机浏览。

对于支持iCloud / BTMM查找的单个应用程序来说,这显然要容易得多(例如,您还将在Finder的侧栏中看到文件共享,并在Airport Utility中看到远程Airport设备),但是我将在下面保留完整说明对于更任意的用例。


对于命令行工具,苹果已经取代了旧的 <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,该ID应该在最后一行。您使用的是完整域名,12345678.members.btmm.icloud.com但是类似,但是dns-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

第三步:连接

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

注意

我不确定该数字是否会改变,因此您以后可能会重复某些步骤,也可能不需要,因为……我的状态已经有好几年了。


13

这不是我的首选方法,但是“终端”应用程序还会轮询您的iCloud帐户以获取所有具有当前注册的“回到我的Mac”计算机。

Shell菜单下- 新建远程连接... + +K

当您不在本地Internet上或dns服务器不会查找与当前host.12346789.members.btmm.icloud.com匹配的AAAA记录时,这对于建立新的ssh / sftp连接主页非常方便。域保留。


如果计算机名称带有空格怎么办?这似乎使一切都糟透了D:
亚历山大–恢复莫妮卡

1
用破折号代替空格。示例:“ Work iMac”应为“ Work-iMac”
Michael Irey 2014年

这很有用。Terminal.app甚至为您提供了生成的ssh命令,您可以将其粘贴到iTerm或任何实际使用的命令中。
jogloran 2014年

10

这是您问题的答案...

我刚刚学会了一种找到BTMM域名的好方法

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

源:https://gist.github.com/1856804skyisle

但这就是为什么那仍然无法帮助您的原因……

但是,请注意,即使您知道 BackToMyMac域,也只能在从已登录“ BackToMyMac”连接的计算机进行连接的情况下使用它。它不能直接通过提示工作。

(我相信Apple认为这是与安全性相关的功能。否则,如果Internet上的任何人都知道BTMM域名,那么任何人都可以尝试访问您的Mac。)

网络上还有其他站点可以为您进行动态DNS托管。我已经使用DynDNS多年了,但是他们越来越关注商业用途(过去曾经能够获得5个免费的动态主机名,现在是1个,您只能通过给他们一个信用卡号并尝试一下来获得一个。他们的高级服务之一,然后将其取消)。

我没有用过http://www.no-ip.com/,但是它们也有Mac更新客户端(每当Mac的IP地址更改时,客户端都会自动更新),如果您创建免费帐户,它们会为您提供三个免费主机名(无需信用卡信息)。

请注意,这并不像BTMM那样容易,因为您仍然必须确保路由器等上有开放的端口。但是,它将与Prompt以及其他主机一起使用。


您已将钉子钉在头上,但前提是当前Mac的两端都必须使用BTMM。
bmike

安全原因很好。然后,能够通过iPhone在家里,任何地方在家中插入Mac真是太好了……只需通过iCloud即可,而无需第三方系统。
乔尼2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.