ฉันเพิ่งติดตั้ง Ubuntu Server 12.04 (แม่นยำ Pangolin) และตั้งใจจะใช้เป็นไฟล์เซิร์ฟเวอร์เป็นหลัก ฉันใหม่สำหรับ Linux อย่างสมบูรณ์ดังนั้นนี่จึงเป็นช่วงเวลาการเรียนรู้ที่ยิ่งใหญ่ เมื่อวานนี้ฉันสามารถกำหนดค่าPuTTYบนเครื่อง Windows 7 ของฉันโดยใช้คู่คีย์ SSH เพื่อให้ฉันสามารถจัดการเซิร์ฟเวอร์ Ubuntu จากเดสก์ท็อปของฉัน ใช้งานได้ดีหากเครื่องทั้งสองอยู่ในเครือข่ายเดียวกัน
ในกรณีของแล็ปท็อปของฉัน ( MacBook Air ) อาจไม่ได้อยู่ในเครือข่ายเดียวกันเสมอไป เป็นไปได้หรือไม่ที่จะเชื่อมต่อกับเซิร์ฟเวอร์ Ubuntu จากแล็ปท็อปของฉันผ่าน SSH เมื่ออยู่ในเครือข่ายอื่น
ฉันได้ติดตั้ง avahi daemon เพื่อให้ชื่อโฮสต์ของเซิร์ฟเวอร์ออกอากาศใน LAN และกำหนดค่าเราเตอร์เพื่อให้มันจะกำหนดที่อยู่ IP เดียวกันให้กับเซิร์ฟเวอร์ นอกจากนั้นสิ่งเดียวที่ฉันได้ติดตั้งบนเซิร์ฟเวอร์คือOpenSSHที่ฉันได้ปิดการใช้งานการตรวจสอบรหัสผ่านเพื่อให้คุณสามารถเชื่อมต่อโดยใช้คู่ที่สำคัญเท่านั้น
ฉันคิดว่าฉันจะสามารถทำสิ่งนี้จาก terminal บนแล็ปท็อปของฉัน:
ssh my.external.ip.address user@hostname.local
เมื่อฉันลองคำสั่งนั้นฉันจะได้รับข้อผิดพลาด:
ssh: เชื่อมต่อกับโฮสต์ my.external.ip.address พอร์ต 22: การดำเนินการหมดเวลา
ฉันได้ลองแล้ว
ssh my.external.ip.address user@servers.local.ip.address
และฉันได้รับข้อความแสดงข้อผิดพลาดเหมือนเดิม ดังนั้นควรให้ความคิดเกี่ยวกับสิ่งที่ฉันพยายามทำ แต่เป็นไปได้และถ้าเป็นเช่นนั้นฉันจะทำอย่างไร
สมมติว่าฉันสามารถตั้งค่าการเชื่อมต่อภายนอกผ่าน ssh จากแล็ปท็อปของฉันมีความเป็นไปได้ที่ ISP ของฉันจะเปลี่ยนที่อยู่ IP ภายนอกของฉันซึ่งจะทำให้การเชื่อมต่อภายนอกหยุดชะงัก ฉันต้องการที่จะเชื่อมต่ออย่างแน่นหนานั่นคือถ้า ISP ของฉันเปลี่ยนที่อยู่ IP ภายนอกฉันยังคงสามารถเชื่อมต่อกับเซิร์ฟเวอร์จากระยะไกลได้โดยไม่ต้องรู้ว่าที่อยู่ IP ภายนอกใหม่คืออะไร