Tôi có thể sử dụng địa chỉ mDNS của Back To My Mac và cho ssh và định tuyến lưu lượng khác không?


24

Trên Lion và iCloud, cách đặt tên mDNS MobileMe và Snow Leopard cũ đã thay đổi và không còn hoạt động.

Tôi đang tự hỏi làm thế nào để sử dụng các công cụ dòng lệnh để tìm ra tên DNS mà Apple đã gán cho máy Mac của tôi. Tôi muốn sử dụng tên dns đó trên các thiết bị khác không phải là OSX (như Nhắc trên iPad / iPhone của tôi) để quay lại máy Mac của tôi khi tôi ra ngoài.

Câu trả lời:


36

Cập nhật

Có một cách rất đơn giản để SSH đơn giản vào máy tính BTMM / iCloud:

Trong Terminal, trong menu Shell, chọn Kết nối từ xa mới ... (cmd + shift + K). Từ đây, bạn có thể duyệt qua các máy chủ ssh / sftp / ftp / telnet trên mạng cục bộ hoặc BTMM.

Điều này rõ ràng dễ dàng hơn nhiều đối với các ứng dụng riêng lẻ hỗ trợ tra cứu iCloud / BTMM (ví dụ: bạn cũng sẽ thấy chia sẻ tệp trong thanh bên của Finder và các thiết bị sân bay từ xa trong Tiện ích sân bay), nhưng tôi sẽ để lại hướng dẫn đầy đủ bên dưới cho các trường hợp sử dụng tùy ý hơn.


Đối với các công cụ dòng lệnh, Apple đã thay thế cái cũ <computer-name>.<mobileme-name>.members.mac.combằng <computer-name>.<numeric-id>.members.btmm.icloud.com(trong đó <numeric_id>trường là số được tạo tự động cho ID Apple của bạn).

Bước 1: Tìm hiểu tên miền BTMM iCloud của bạn

Trước tiên, hãy tìm kiếm tên miền của bạn bằng công cụ Khám phá Dịch vụ DNS:

# dns-sd -E

Đầu ra được định dạng hơi lúng túng, nhưng cái bạn đang theo là ID số, ​​nằm ở dòng cuối cùng. Bạn đang theo tên miền đầy đủ 12345678.members.btmm.icloud.com, tuy nhiên , một cái gì đó như , tuy nhiên dns-sdsẽ hiển thị nó (loại) theo thứ tự ngược lại, trên các dòng riêng biệt:

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

Bạn cũng cần nhấn ctrl+ Csau khi nó hiển thị thông tin bạn đang theo dõi (nó được thiết kế để tiếp tục nghe và cập nhật). Điều này áp dụng cho mỗi lần sử dụng dns-sd, ở đây và bên dưới.

Bước 2: Liệt kê máy tính

Bạn có thể sử dụng các công cụ này để duyệt tên miền đó cho các dịch vụ, ví dụ: đối với máy chủ ssh:

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

Hoặc nếu bạn đã biết tên máy chủ chỉ cần truy cập trực tiếp dưới dạng computer-name.12345678.members.btmm.icloud.com. (Bất kỳ khoảng trắng nào trong tên máy tính của bạn sẽ là dấu gạch nối trong miền này).

Bạn chỉ có thể truy cập từ máy tính cũng được thiết lập cho BTMM trên cùng một tài khoản Apple ID, vì tên máy chủ này sẽ phân giải thành địa chỉ IPv6 thực sự là điểm cuối của đường hầm mạng được mã hóa giữa các máy tính BTMM của Apple ID của bạn.

Nếu bạn muốn xem địa chỉ IPv6 cho một máy chủ cụ thể, bạn có thể nhập

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

Và nó sẽ hiển thị một cái gì đó như:

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

Bước 3: Kết nối

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

chú thích

Tôi không chắc liệu con số đó có bao giờ thay đổi hay không, vì vậy bạn có thể hoặc không cần lặp lại Bước 1 vào một lúc nào đó sau này ... tôi đã tĩnh trong vài năm nay.


13

Đây không phải là phương pháp ưa thích của tôi, nhưng ứng dụng Terminal cũng thăm dò tài khoản iCloud của bạn cho tất cả các máy tính Back To My Mac có đăng ký hiện tại.

Trong menu Shell - Kết nối từ xa mới ... + +K

Điều này khá thuận tiện để thiết lập một nhà kết nối ssh / sftp mới khi bạn không truy cập internet cục bộ hoặc máy chủ dns của bạn sẽ không tra cứu các bản ghi AAAA phù hợp với máy chủ hiện tại của bạn.12346789.members.btmm.icloud.com. đặt phòng tên miền.


Nếu tên máy tính có khoảng trắng thì sao? Điều đó dường như làm hỏng mọi thứ lên D:
Alexander - Tái lập lại

1
thay thế khoảng trắng bằng dấu gạch ngang. Ví dụ: "Work iMac" sẽ là "Work-iMac"
Michael Irey

Điều này rất hữu ích. Terminal.app thậm chí còn cung cấp cho bạn sshlệnh kết quả mà sau đó bạn có thể dán vào iTerm hoặc bất cứ thứ gì bạn thực sự sử dụng.
chạy bộ

10

Đây là câu trả lời cho câu hỏi của bạn

Tôi vừa học được một cách tiện lợi để tìm tên miền BTMM của bạn

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

nguồn: https://gist.github.com/1856804 bằng bầu trời

Nhưng đây là lý do tại sao điều đó vẫn không giúp bạn

Tuy nhiên, lưu ý rằng ngay cả khi bạn biết tên miền BackToMyMac, bạn chỉ có thể sử dụng nó nếu bạn đang kết nối từ một máy tính được kết nối cũng đăng nhập vào 'BackToMyMac'. Nó sẽ không hoạt động trực tiếp thông qua Prompt.

(Tôi tin rằng Apple coi đây là một tính năng liên quan đến bảo mật. Nếu không, bất kỳ ai trên Internet cũng có thể cố gắng truy cập vào máy Mac của bạn nếu họ biết tên miền BTMM.)

Có các trang web khác trên web sẽ thực hiện lưu trữ DNS động cho bạn. Tôi đã sử dụng DynDNS trong nhiều năm, nhưng họ ngày càng tập trung hơn về mặt thương mại (trước đây có thể nhận được 5 tên máy chủ động miễn phí, giờ là 1 và bạn chỉ có thể lấy số đó bằng cách cho họ số thẻ tín dụng và dùng thử một trong những dịch vụ cao cấp của họ và sau đó hủy bỏ nó).

Tôi chưa sử dụng http://www.no-ip.com/ nhưng họ cũng có ứng dụng khách cập nhật Mac (sẽ tự động cập nhật bất cứ khi nào địa chỉ IP của máy Mac của bạn thay đổi) và họ sẽ cung cấp cho bạn ba tên máy chủ miễn phí nếu bạn tạo tài khoản miễn phí (không cần thông tin thẻ tín dụng).

Lưu ý rằng điều này không hoạt động dễ dàng như BTMM vì bạn vẫn phải đảm bảo rằng bạn có các cổng mở trên bộ định tuyến của mình, v.v. Tuy nhiên, nó sẽ hoạt động với Prompt và từ các máy chủ khác.


Bạn đã đóng đinh trên đầu với điều kiện là hiện tại Mac bắt buộc phải sử dụng BTMM ở cả hai đầu.
bmike

Lý do bảo mật là tốt. Sau đó, thật tuyệt vời khi có thể ssh vào máy Mac của tôi ở nhà từ iPhone của tôi, bất cứ nơi nào ... Chỉ cần thông qua iCloud và không có hệ thống bên thứ ba.
Jonny
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.