在Lion和iCloud上,旧的MobileMe和Snow Leopard mDNS命名已更改并且不再起作用。
我想知道如何使用命令行工具来查找Apple分配给Mac的DNS名称。我想在非OSX的其他设备上使用该dns名称(如iPad / iPhone上的Prompt)在外出时切换回Mac。
在Lion和iCloud上,旧的MobileMe和Snow Leopard mDNS命名已更改并且不再起作用。
我想知道如何使用命令行工具来查找Apple分配给Mac的DNS名称。我想在非OSX的其他设备上使用该dns名称(如iPad / iPhone上的Prompt)在外出时切换回Mac。
Answers:
有一种非常简单的方法可以简单地通过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自动生成的数字)。
首先,使用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
此处和下文的每次使用。
您可以使用以下工具浏览该域中的服务,例如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
我不确定该数字是否会改变,因此您以后可能会重复某些步骤,也可能不需要,因为……我的状态已经有好几年了。
这不是我的首选方法,但是“终端”应用程序还会轮询您的iCloud帐户以获取所有具有当前注册的“回到我的Mac”计算机。
在Shell菜单下- 新建远程连接... ⇧ + ⌘+K
当您不在本地Internet上或dns服务器不会查找与当前host.12346789.members.btmm.icloud.com匹配的AAAA记录时,这对于建立新的ssh / sftp连接主页非常方便。域保留。
ssh
命令,您可以将其粘贴到iTerm或任何实际使用的命令中。
我刚刚学会了一种找到BTMM域名的好方法
echo show Setup:/Network/BackToMyMac | scutil | sed -n 's/.* : *\(.*\).$/\1/p'
源:https://gist.github.com/1856804由skyisle
但是,请注意,即使您知道 BackToMyMac域,也只能在从已登录“ BackToMyMac”连接的计算机进行连接的情况下使用它。它不能直接通过提示工作。
(我相信Apple认为这是与安全性相关的功能。否则,如果Internet上的任何人都知道BTMM域名,那么任何人都可以尝试访问您的Mac。)
网络上还有其他站点可以为您进行动态DNS托管。我已经使用DynDNS多年了,但是他们越来越关注商业用途(过去曾经能够获得5个免费的动态主机名,现在是1个,您只能通过给他们一个信用卡号并尝试一下来获得一个。他们的高级服务之一,然后将其取消)。
我没有用过http://www.no-ip.com/,但是它们也有Mac更新客户端(每当Mac的IP地址更改时,客户端都会自动更新),如果您创建免费帐户,它们会为您提供三个免费主机名(无需信用卡信息)。
请注意,这并不像BTMM那样容易,因为您仍然必须确保路由器等上有开放的端口。但是,它将与Prompt以及其他主机一起使用。