ฉันสามารถใช้ที่อยู่ mDNS ของ Back To My Mac และใช้สำหรับ ssh และการกำหนดเส้นทางการรับส่งข้อมูลอื่น


24

บน Lion และ iCloud การตั้งชื่อ MobileMe และ Snow Leopardเก่าmDNSได้เปลี่ยนไปและไม่สามารถใช้งานได้อีกต่อไป

ฉันสงสัยว่าจะใช้เครื่องมือบรรทัดคำสั่งเพื่อค้นหาชื่อ DNS ที่ Apple กำหนดให้กับ Mac ของฉันได้อย่างไร ฉันต้องการใช้ชื่อ dns นั้นบนอุปกรณ์อื่น ๆ ที่ไม่ใช่ OSX (เช่น Prompt บน iPad / iPhone) เพื่อ ssh กลับไปที่ Mac ของฉันเมื่อฉันไม่อยู่บ้าน

คำตอบ:


36

ปรับปรุง

มีวิธีที่ง่ายมากในการเพียงแค่ SSH ไปยังคอมพิวเตอร์ BTMM / iCloud:

ใน Terminal ในเมนูShellเลือกNew Remote Connection ... (cmd + shift + K) จากที่นี่คุณสามารถเรียกดูโดยโฮสต์ ssh / sftp / ftp / telnet บนเครือข่ายท้องถิ่นหรือ BTMM

เห็นได้ชัดว่ามันง่ายกว่าสำหรับแต่ละแอพที่รองรับการค้นหา iCloud / BTMM (เช่นคุณจะเห็นการแชร์ไฟล์ในแถบด้านข้างของ Finder และอุปกรณ์สนามบินระยะไกลในยูทิลิตี้สนามบิน) แต่ฉันจะทิ้งคำแนะนำทั้งหมดไว้ด้านล่าง สำหรับกรณีการใช้งานโดยพลการ


สำหรับเครื่องมือบรรทัดคำสั่ง Apple ได้แทนที่ตัวเก่า <computer-name>.<mobileme-name>.members.mac.comด้วย<computer-name>.<numeric-id>.members.btmm.icloud.com(โดยที่<numeric_id>ฟิลด์เป็นตัวเลขที่สร้างขึ้นโดยอัตโนมัติสำหรับ Apple ID ของคุณ)

ขั้นตอนที่ 1: ค้นหาโดเมน iCloud BTMM ของคุณ

ก่อนอื่นค้นหาโดเมนของคุณโดยใช้เครื่องมือ DNS Service Discovery:

# dns-sd -E

ผลลัพธ์ถูกจัดรูปแบบเล็กน้อยอย่างเชื่องช้า แต่สิ่งที่คุณตามมาคือ 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หรือถ้าคุณรู้อยู่แล้วว่าชื่อโฮสต์เพียงเข้าถึงได้โดยตรง (ช่องว่างใด ๆ ในชื่อคอมพิวเตอร์ของคุณจะเป็นเครื่องหมายขีดคั่นในโดเมนนี้)

คุณสามารถเพียงเข้าถึงจากคอมพิวเตอร์ที่ยังมีการตั้งค่าสำหรับ BTMM ในบัญชี Apple ID เดียวกันเพราะชื่อโฮสต์นี้จะแก้ไขเพื่อที่อยู่ IPv6 ที่เป็นจริงในตอนท้ายของอุโมงค์เข้ารหัสเครือข่ายระหว่างคอมพิวเตอร์ BTMM Apple ID ของคุณ

หากคุณต้องการดูที่อยู่ 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

ขั้นตอนที่ 3: เชื่อมต่อ

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

บันทึก

ฉันไม่แน่ใจว่าหมายเลขนั้นจะเปลี่ยนไปหรือเปล่าดังนั้นคุณอาจจะหรืออาจไม่จำเป็นต้องทำซ้ำขั้นตอนที่ 1 ณ เวลาต่อมา ... เหมืองของฉันคงที่มาหลายปีแล้ว


13

นี่ไม่ใช่วิธีการที่ฉันชอบ แต่แอป Terminal ยังโพลบัญชี iCloud ของคุณสำหรับคอมพิวเตอร์ Back To My Mac ทั้งหมดที่มีการลงทะเบียนปัจจุบัน

ใต้เมนูเชลล์ - การเชื่อมต่อระยะไกลใหม่ ... + +K

การตั้งค่าการเชื่อมต่อ ssh / sftp ใหม่นั้นมีประโยชน์มากเมื่อคุณไม่ได้อยู่บนอินเทอร์เน็ตในท้องถิ่นหรือเซิร์ฟเวอร์ DNS ของคุณจะไม่ค้นหาระเบียน AAAA ที่ตรงกับโฮสต์ปัจจุบันของคุณ 12346789.members.btmm.icloud.com การจองโดเมน


จะทำอย่างไรถ้าชื่อคอมพิวเตอร์มีช่องว่าง ที่ดูเหมือนว่าจะโคลนทุกอย่าง D:
Alexander - Reinstate Monica

1
แทนที่ช่องว่างด้วยขีดกลาง ตัวอย่าง: "Work iMac" จะเป็น "Work-iMac"
Michael Irey

สิ่งนี้มีประโยชน์ Terminal.app ยังให้sshคำสั่งที่เป็นผลลัพธ์ซึ่งคุณสามารถวางลงใน iTerm หรืออะไรก็ตามที่คุณใช้
jogloran

10

นี่คือคำตอบสำหรับคำถามของคุณ ...

ฉันเพิ่งเรียนรู้วิธีที่ดีในการค้นหาชื่อโดเมน BTMM ของคุณ

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

แหล่งที่มา: https://gist.github.com/1856804โดยskyisle

แต่นี่คือสาเหตุที่ยังไม่ช่วยคุณ ...

อย่างไรก็ตามโปรดทราบว่าแม้ว่าคุณจะรู้ว่าโดเมน BackToMyMac คุณสามารถใช้งานได้ก็ต่อเมื่อคุณกำลังเชื่อมต่อจากคอมพิวเตอร์ที่เชื่อมต่อเข้าสู่ระบบด้วย 'BackToMyMac' มันจะไม่ทำงานโดยตรงผ่านพรอมต์

(ฉันเชื่อว่า Apple พิจารณาว่าเป็นคุณลักษณะที่เกี่ยวข้องกับความปลอดภัยมิฉะนั้นใครก็ตามบนอินเทอร์เน็ตสามารถพยายามเข้าถึง Mac ของคุณได้หากพวกเขารู้จักชื่อโดเมน BTMM)

มีเว็บไซต์อื่น ๆ บนเว็บซึ่งจะทำโฮสต์ DNS แบบไดนามิกให้คุณ ฉันใช้ DynDNS มาหลายปีแล้ว แต่พวกเขาได้รับความสนใจเชิงพาณิชย์มากขึ้นเรื่อย ๆ (เคยได้รับชื่อโฮสต์ไดนามิก 5 ชื่อฟรีตอนนี้เป็น 1 และคุณสามารถรับได้เพียงแค่ให้หมายเลขบัตรเครดิตและลองใช้ หนึ่งในบริการพรีเมี่ยมของพวกเขาและจากนั้นยกเลิกมัน)

ฉันไม่ได้ใช้http://www.no-ip.com/แต่พวกเขามีไคลเอ็นต์การอัปเดต Mac ด้วย (ซึ่งจะอัปเดตโดยอัตโนมัติทุกครั้งที่คุณเปลี่ยนที่อยู่ IP ของ Mac) และพวกเขาจะให้ชื่อโฮสต์ฟรีสามชื่อให้คุณหากคุณสร้างบัญชีฟรี (ไม่จำเป็นต้องใช้ข้อมูลบัตรเครดิต)

โปรดทราบว่าวิธีนี้ใช้งานไม่ได้อย่างง่ายดายเหมือนกับ BTMM เนื่องจากคุณยังต้องตรวจสอบให้แน่ใจว่าคุณมีพอร์ตเปิดบนเราเตอร์ของคุณเป็นต้นอย่างไรก็ตามจะทำงานกับพร้อมท์และจากโฮสต์อื่น ๆ


คุณได้ตอกตะปูบนหัวด้วยเงื่อนไขว่าขณะนี้เครื่อง Mac จำเป็นต้องใช้ BTMM ทั้งสองด้าน
bmike

เหตุผลด้านความปลอดภัยดี ถ้าอย่างนั้นมันจะยอดเยี่ยมมากที่ได้ใช้ Mac ของฉันที่บ้านจากทุกที่ ... แค่ผ่าน iCloud และไม่มีระบบของบุคคลที่สาม
จอนนี่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.