Dapatkah saya menggunakan alamat mDNS Kembali Ke Mac saya dan untuk ssh dan perutean lalu lintas lainnya?

24

Pada Lion dan iCloud, penamaan mDNS MobileMe dan Snow Leopard telah berubah dan tidak lagi berfungsi.

Saya bertanya-tanya bagaimana cara menggunakan alat baris perintah untuk mengetahui nama DNS yang telah ditetapkan Apple untuk Mac saya. Saya ingin menggunakan nama dns pada perangkat lain yang bukan OSX (seperti Prompt di iPad / iPhone saya) untuk ssh kembali ke Mac saya ketika saya bepergian.

bmike
sumber

Jawaban:

36

Memperbarui

Ada cara yang sangat sederhana untuk hanya SSH ke komputer BTMM / iCloud:

Di Terminal, di menu Shell pilih New Remote Connection ... (cmd + shift + K). Dari sini Anda dapat menjelajah dengan host ssh / sftp / ftp / telnet di jaringan lokal atau BTMM.

Ini jelas jauh lebih mudah untuk aplikasi individual yang mendukung pencarian iCloud / BTMM (mis. Anda juga akan melihat berbagi file di bilah samping Finder, dan perangkat Airport jarak jauh di Airport Utility), tetapi saya akan meninggalkan petunjuk lengkap di bawah untuk kasus penggunaan yang lebih sewenang-wenang.


Untuk alat baris perintah, Apple telah mengganti yang lama <computer-name>.<mobileme-name>.members.mac.com, dengan <computer-name>.<numeric-id>.members.btmm.icloud.com(di mana <numeric_id>bidang adalah nomor yang secara otomatis dihasilkan untuk ID Apple Anda).

Langkah 1: Cari tahu domain iCloud BTMM Anda

Pertama, cari domain Anda menggunakan alat Layanan Penemuan DNS:

# dns-sd -E

Outputnya diformat sedikit canggung, tetapi yang Anda cari adalah angka numerik, yang seharusnya berada di baris terakhir. Anda setelah domain lengkap, sesuatu seperti 12345678.members.btmm.icloud.com, namun dns-sdakan menampilkannya (dalam bentuk) dalam urutan terbalik, pada baris yang berbeda:

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

Anda juga harus menekan ctrl+ Csetelah menampilkan informasi yang Anda cari (itu dirancang untuk terus mendengarkan dan memperbarui). Ini berlaku untuk setiap penggunaan dns-sd, di sini dan di bawah.

Langkah 2: Daftar Komputer

Anda dapat menggunakan alat-alat ini untuk menjelajahi domain itu untuk layanan, misalnya untuk server ssh:

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

Atau jika Anda sudah tahu nama host cukup akses langsung sebagai computer-name.12345678.members.btmm.icloud.com. (Setiap spasi dalam nama komputer Anda akan menjadi tanda hubung dalam domain ini).

Anda hanya dapat mengakses ini dari komputer yang juga diatur untuk BTMM pada akun Apple ID yang sama, karena nama host ini akan menyelesaikan ke alamat IPv6 yang benar-benar akhir dari terowongan jaringan terenkripsi antara komputer BTMM ID Apple Anda.

Jika Anda ingin melihat alamat IPv6 untuk host tertentu, Anda bisa mengetik

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

Dan itu akan menampilkan sesuatu seperti:

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

Langkah 3: Hubungkan

# ssh [email protected]

Catatan

Saya tidak yakin apakah angka itu akan berubah, jadi Anda mungkin atau mungkin tidak perlu mengulangi Langkah 1 di beberapa titik nanti ... milik saya statis untuk beberapa tahun sekarang.

drfrogsplat
sumber
13

Ini bukan metode yang saya sukai, tetapi aplikasi Terminal juga melakukan polling akun iCloud Anda untuk semua komputer Back To My Mac yang memiliki registrasi saat ini.

Di bawah menu Shell - New Remote Connection ... + +K

Ini cukup mudah untuk mengatur rumah koneksi ssh / sftp baru ketika Anda tidak di internet lokal atau server dns Anda tidak akan mencari catatan AAAA yang cocok dengan host Anda saat ini.12346789.members.btmm.icloud.com. reservasi domain.

bmike
sumber
Bagaimana jika nama komputer memiliki spasi? Itu tampaknya mengacaukan semuanya D:
Alexander
1
ganti spasi dengan tanda hubung. Contoh: "Work iMac" akan menjadi "Work-iMac"
Michael Irey
Ini bermanfaat. Terminal.app bahkan memberi Anda sshperintah yang dihasilkan yang kemudian dapat Anda tempel ke iTerm atau apa pun yang sebenarnya Anda gunakan.
jogloran
10

Inilah jawaban untuk pertanyaan Anda ...

Saya baru saja belajar cara yang bagus untuk menemukan nama domain BTMM Anda

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

sumber: https://gist.github.com/1856804 oleh skyisle

Tapi inilah mengapa itu masih tidak membantu Anda ...

Namun, perhatikan bahwa meskipun Anda mengetahui domain BackToMyMac, Anda hanya dapat menggunakannya jika Anda terhubung dari komputer yang terhubung juga masuk ke 'BackToMyMac'. Itu tidak akan bekerja secara langsung melalui Prompt.

(Saya percaya Apple menganggap ini sebagai fitur yang berhubungan dengan keamanan. Kalau tidak, siapa pun di Internet dapat mencoba untuk mendapatkan akses ke Mac Anda jika mereka tahu nama domain BTMM.)

Ada situs lain di web yang akan melakukan hosting DNS dinamis untuk Anda. Saya telah menggunakan DynDNS selama bertahun-tahun, tetapi mereka semakin fokus secara komersial (dulu bisa mendapatkan 5 nama host dinamis gratis, sekarang 1, dan Anda hanya bisa mendapatkannya dengan memberi mereka nomor kartu kredit dan mencoba salah satu layanan premium mereka dan kemudian membatalkannya).

Saya belum pernah menggunakan http://www.no-ip.com/ tetapi mereka juga memiliki klien pembaruan Mac (yang secara otomatis akan diperbarui setiap kali alamat IP Mac Anda berubah) dan mereka akan memberi Anda tiga nama host gratis jika Anda membuat akun gratis (tidak diperlukan info kartu kredit).

Perhatikan bahwa ini tidak bekerja semudah BTMM karena Anda masih harus memastikan bahwa Anda memiliki port terbuka di router Anda, dll. Namun, ini akan bekerja dengan Prompt dan dari host lain.

TJ Luoma
sumber
Anda telah memaku paku di kepala dengan ketentuan bahwa saat ini Mac diperlukan untuk menggunakan BTMM di kedua ujungnya.
bmike
Alasan keamanan baik-baik saja. Maka akan luar biasa untuk dapat ssh ke Mac saya di rumah dari iPhone saya, di mana saja ... Hanya melalui iCloud dan tidak ada sistem pihak ketiga.
Jonny