Apakah mungkin untuk menggunakan DNS Kembali Ke Mac Saya atau merutekan informasi dari baris perintah?


8

Saya sering ingin ssh ke Mac dan ingin memanfaatkan iCloud untuk mencari informasi routing IP / DNS. Bisakah ini dilakukan tanpa mendaftar untuk layanan DNS dinamis dan mengonfigurasinya di setiap Mac selain iCloud?

Mari kita asumsikan Mac saya yang selalu ada di hostname home adalah "maui" dan menjalankan Snow Leopard. Ketika saya di laptop saya terhubung ke jaringan rumah, saya bisa ssh maui.local. Pasti akan menyenangkan untuk bisa ssh maui.whatever.icloud.comatau apa pun yang akan berhasil. Saya kira saya perlu "maui" dan nama iCloud saya untuk memberi tahu mesin mana yang perlu dijangkau oleh akun saya.

Adakah yang tahu apakah ini dimungkinkan melalui API atau baris perintah? Saya telah meramban informasi pengembang publik beberapa kali tetapi tidak melihat sesuatu yang menjanjikan. Setiap petunjuk atau contoh kode akan diterima.

PS Tolong jangan menyarankan akun DNS gratis karena saya benar-benar tertarik pada MobileMe secara eksklusif untuk pertanyaan ini. Saya tahu itu akan bekerja tetapi saya ingin menghindari menginstal apa pun atau ketergantungan akun / eksternal lain pada Mac ini.


Ide keren, +1 dan saya harap Anda mendapatkan jawaban.
ConstantineK

Saya dapat melihat bagaimana Apple tidak ingin mengekspos pengguna ke ini karena ini merupakan risiko privasi, tetapi tentu akan menyenangkan jika memiliki API untuk ini.
bmike

1
Lihat juga: Masalah yang sama untuk OS X 10.7 Lion (ini sedikit berbeda). apple.stackexchange.com/questions/53719/...
drfrogsplat

Jawaban:


9

Ini telah sedikit berubah dengan 10.7 dan Anda akan ingin mencatat bahwa ini menggunakan IPv6 hampir seluruhnya jadi uji dengan ping6dan traceroute6untuk debug hal-hal.

Ini tidak lagi dilakukan melalui @computername.mobilemename.members.mac.com, sekarang dilakukan melalui members.btmm.icloud.com, dan tidak lagi sesederhana Anda mobilemename.

Langkah 1: Temukan domain iCloud BTMM Anda

Salah satu dari perintah ini akan memberikan domain BTMM Anda:

# dns-sd -E
# mDNS -E

Output diformat sedikit berbeda, tetapi yang Anda cari adalah angka numerik, itu akan menjadi seperti itu 12345678.members.btmm.icloud.com.

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 yang sama, karena nama host ini akan menyelesaikan ke alamat IPv6 yang benar-benar akhir dari terowongan jaringan terenkripsi antara komputer BTMM 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 username@computer-name.12345678.members.btmm.icloud.com

Catatan

Saya tidak yakin apakah angka itu akan berubah, jadi Anda mungkin atau mungkin tidak perlu mengulangi Langkah 1 di beberapa titik nanti ...


Cemerlang! Saya ragu apakah akan mengedit pertanyaan agar cocok dengan Lion atau bertanya yang lain. Saya akan menautkan ke pertanyaan baru sehingga Anda dapat "menjawab" pertanyaan Singa - jawaban ini sangat berguna.
bmike


3

Saya membaca beberapa artikel tentang dasar Back To My Mac dan diduga beberapa orang telah terhubung secara efektif melalui ssh, lihat diskusi yang terdapat dalam posting Macworld ini .

Pos terbaik di utas adalah sebagai berikut:

Gunakan format berikut untuk menghubungkan sebagai nama pengguna yang berbeda:

ssh user.name@hostname.username.members.mac.com.

Jika Anda melakukan ini secara teratur dan ingin menghemat karena harus menggunakan nama pengguna sepanjang waktu untuk ssh dan scp kemudian buat file bernama ~ / .ssh / config dengan konten seperti berikut:

Host hostname.username.members.mac.com. User.name pengguna

Host host2.some.domain.com. User username2 Port 2222 LocalForward 3389 internal-pc: 3389

Host kedua dalam file ini juga termasuk menggunakan port selain 22 dan memungkinkan akses ke komputer Windows yang disebut internal-pc dengan Remote Desktop dengan menghubungkan ke localhost dengan Remote Desktop Client.

Sekarang jelas Apple telah beralih .mac ke MobileMe, jadi saya tidak tahu apakah itu telah beralih ke .me.com, dan terus terang saya tidak punya akun MobileMe untuk mengujinya.

Sunting: Posting menarik lain yang mungkin ingin Anda coba adalah di bagian bawah

Ternyata itu lebih mudah! : P

cukup buka Terminal, buka Shell> New Remote Connection ...

kemudian pilih ssh dan di sana Anda memiliki BackToMyMac Computer Anda terdaftar (jika OS melihatnya).

ketik nama pengguna Anda dan klik terhubung.

voila, Anda bahkan dapat melihat string koneksi yang digunakan. Dan Anda juga dapat menggunakan ftp / sftp ... dari dialog ini ke Mac jarak jauh Anda.

Cara lebih mudah daripada mengetikkan beberapa perintah shell seperti yang disarankan di tip asli.


Sayangnya ini tidak bekerja untuk saya. Saya dapat menggunakan finder dan berbagi layar dengan sempurna sehingga saya tahu bahwa akun dan mesin beroperasi dan berjalan. Kapsul Waktu Terbaru dengan firmware terkini adalah router untuk kedua mac. Adakah yang punya pekerjaan ini untuk mereka dalam dua minggu terakhir?
bmike

Sialan! tip terakhir adalah itu. ping dan host tidak berfungsi, tetapi ssh tidak. Ujung terminal itu LUAR BIASA.
bmike

Manis! Senang untuk membantu.
ConstantineK

3

Anda dapat ssh ke mesin Anda yang telah mengaktifkan "Bac to my Mac" seperti ini:

ssh -p 22 username@computername.mobilemename.members.mac.com

1
Apakah Anda benar-benar harus mengatakannya untuk menggunakan port default?
ConstantineK

ping, host, dan ssh ke tiga nama pengguna terpisah dengan tiga mobilemename berbeda gagal. Saya mendapatkan host yy.xx.members.mac.com not found: 3(NXDOMAIN)kesalahan dari upaya host dan ssh: Could not resolve hostname yy.xx.members.mac.com: nodename nor servname provided, or not knownKetiganya berfungsi dengan kembali ke berbagi layar mac saya sebelum dan setelah upaya ping, host dan ssh gagal. IP server DNS apa yang Anda gunakan untuk menjalankan ini?
bmike

Meskipun host dan ping tidak berfungsi - ssh mulai bekerja untuk saya. Saya akan bermain sedikit dan menandai jawaban begitu saya menemukan yang lebih baik.
bmike

Dan tidak - sepertinya saya tidak perlu memanggil nomor port untuk sftp atau ssh - tetapi tidak ada salahnya untuk memilikinya ;-)
bmike

hosttidak berfungsi karena menggunakan resolver DNS, bukan resolver sistem. pingtidak berfungsi karena BTTM menggunakan IPv6. Coba ping6saja dan Anda akan melihatnya merespons.
bahamat

2

Itu karena alamat IP untuk resolusi adalah versi 6.

Jika Anda menggunakan ping6 atau traceroute6 Anda juga dapat menghubungi host Anda.


Itu sangat keren. Terima kasih banyak telah menambahkan ini. Apakah Anda keberatan jika saya menambahkan info Anda ke jawaban saya di atas setelah saya memiliki kesempatan untuk melihat apakah itu berfungsi untuk saya? +2 ke @pst
bmike

2

Terima kasih banyak untuk hobs dan ghoppe yang keduanya memiliki solusi yang bisa diterapkan. Masalah utama adalah MobileMe Back To My Mac menggunakan pengalamatan IPv6 jika tersedia dan mungkin secara eksklusif, jadi saya tidak berpikir untuk menggunakan ping6 atau traceroute6 dan ssh tampaknya cukup pintar untuk menyelesaikan IPv4 atau IPv6.

ssh -p 22 username@computername.mobilemename.members.mac.com. bekerja sangat andal bagi saya dalam pengujian hari ini.

Karena ini membuat saya tersandung seperti yang saya harapkan pingdan hostdan nslookupuntuk bekerja, saya pikir saya akan membuat ringkasan yang bagus tentang apa yang bekerja untuk saya. (dengan gambar! - Saya sangat suka gambar)

Untuk meringkas sftp, ssh, ping6, dan traceroute6harus bekerja dengan skema penamaan ini.

Terminal bawaan Apple (dan iTerm ) sangat bagus untuk memastikan nama pengguna dan nama pendek jarak jauh Anda benar. Namanya adalah nama host pendek (yang hostnametercetak) dan tidak perlu lagi akan menampilkan Finder nama yang lebih panjang untuk Mac jarak jauh).

nama host pendek

Inilah yang Terminal tunjukkan ketika ia menemukan mesin Back To My Mac berjalan. Item menu adalah Koneksi Jarak Jauh Baru ... dan pintasannya adalah Shift+ Command+ K. Ini menunjukkan bagaimana nama finder "Mikey's Mac" mungkin berbeda dari mi host name pendek

masukkan deskripsi gambar di sini


1
Jawaban komprehensif yang bagus dengan screenies +1
ConstantineK

hobs memiliki satu b: p
ConstantineK
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.