สารบัญ:
หากคุณเป็นมืออาชีพด้านเทคนิคคุณไม่ต้องสงสัยเกี่ยวกับ Secure Shell (SSH) และใช้เป็นประจำเพื่อเชื่อมต่อกับระบบระยะไกล แม้ว่าจะเป็นเครื่องมือที่ยอดเยี่ยม แต่ SSH ถือว่าคุณมีการเชื่อมต่อแบบใช้สายที่เชื่อถือได้ มันไม่ได้ทำงานได้ดีกับการเชื่อมต่อไร้สายซึ่งอาจไม่น่าเชื่อถือ เครื่องมือใหม่หนึ่งชิ้นที่มีการเปลี่ยนแปลงนั่นคือ Mosh หรือ Mobile Shell ซึ่งอนุญาตให้ผู้ใช้เชื่อมต่อกับระบบระยะไกลและยังคงเชื่อมต่ออยู่แม้ในขณะที่เครือข่ายล่มหรือคุณสลับเครือข่าย
ทำไมต้อง Mosh
Secure Shell เป็นสิ่งที่ขาดไม่ได้สำหรับผู้ดูแลระบบโปรแกรมเมอร์และผู้ใช้ระดับสูงที่จำเป็นต้องลงชื่อเข้าใช้เซิร์ฟเวอร์ทั้งในห้องโถงหรือทั่วประเทศ มันเป็นการแทนที่ที่ปลอดภัยและเข้ารหัสสำหรับ Telnet มันเป็นเครื่องมือที่ยอดเยี่ยม แต่มันถูกออกแบบมาในยุค 90 ยุคก่อนที่คอมพิวเตอร์พกพาบน Wi-Fi จะกลายเป็นเรื่องธรรมดา SSH ถือว่าการเชื่อมต่อแบบใช้สายที่เชื่อถือได้ซึ่งไม่ได้เป็นเช่นนี้เสมอเมื่อผู้ใช้ไปที่อุปกรณ์พกพา การเชื่อมต่อ Wi-Fi อย่างที่หลายคนพบมักจะไม่แน่นอนและเป็นไปไม่ได้ที่จะเปลี่ยนการเชื่อมต่อพูดจาก Wi-Fi เป็น LTE โดยไม่ทำลายการเชื่อมต่อ
บางครั้งก็ไม่ใช่ความผิดของการเชื่อมต่อ แต่เป็นผู้ใช้ หรืออย่างที่พวกเขาพูดใน IT มันคือ PEBKAC (ปัญหาอยู่ระหว่างคีย์บอร์ดกับเก้าอี้) รายการโปรดตลอดเวลาของฉันคือปิดฝาในขณะที่ลืมว่าฉันเข้าสู่เครื่องระยะไกลผ่าน SSH ฉันเปิดฝาและพิมพ์ในหน้าต่างเทอร์มินัลและไม่มีอะไรเกิดขึ้น ทั้งหมดที่ฉันทำได้คือฆ่าเซสชันและลงชื่อเข้าใช้อีกครั้ง มันน่ารำคาญ แต่ฉันทำมาแล้วนับครั้งไม่ถ้วนและฉันก็แน่ใจว่าคุณมีเช่นกัน
หลายคนพยายามลดสิ่งนี้โดยใช้โปรแกรมเช่น GNU Screen และ tmux นี่คือเทอร์มินัลมัลติเพล็กเซอร์ที่ไม่เพียงให้สิ่งที่คุณต้องการเช่นการเรียกดูแบบแท็บสำหรับบรรทัดคำสั่ง แต่ยังสามารถรักษาเซสชันของคุณในกรณีที่การเชื่อมต่อของคุณลดลง เพียงเข้าสู่ระบบอีกครั้งและคุณสามารถเลือกได้ทันทีเมื่อออกจากที่ทำงาน สะดวกเหมือนที่โปรแกรมเหล่านี้มีปัญหากับ SSH เองยังคงอยู่
ฉันลาออกไปสู่โชคชะตา SSH ของฉัน แต่วันหนึ่งฉันก็สะดุดกับโปรแกรมใหม่บนเชลล์เซิร์ฟเวอร์ที่ฉันออกไปเที่ยว Mosh เป็นความพยายามในการปรับปรุง SSH ทำให้เหมาะสำหรับใช้กับแล็ปท็อป มันพัฒนาขึ้นโดยคนที่ฉลาดที่ MIT ผู้คนที่นำ Lisp มาให้เรา (ดังนั้นพวกเขาอาจรู้ว่าเป็นสิ่งที่ดีเมื่อพวกเขาเห็น) Keith Winstein หนึ่งในผู้พัฒนาหลักได้สร้างวิดีโอที่แสดงวิธีการทำงาน
ผู้สร้างของ Mosh อธิบายว่ามันเป็นการแทนที่ SSH ที่แข็งแกร่งและตอบสนองได้ดีขึ้นโดยเฉพาะอย่างยิ่งผ่าน Wi-Fi, การเชื่อมโยงมือถือและทางไกล
มันทำงานอย่างไร
Mosh ใช้โปรโตคอลใหม่ที่เรียกว่า State Synchronization Protocol (SSP) สิ่งนี้สร้างขึ้นบนโปรโตคอลการเชื่อมต่อระยะไกลแบบดั้งเดิมเช่น Telnet และ SSH ภายใต้ SSH เซิร์ฟเวอร์จะส่งข้อมูลไปยังไคลเอนต์เพื่อทำการตีความ
SSP เพิ่มเลเยอร์อื่น เซิร์ฟเวอร์และลูกค้าติดตามสิ่งที่ถูกส่งโดยใช้หมายเลขลำดับ หากเซิร์ฟเวอร์ได้รับหมายเลขลำดับที่สูงกว่าหมายเลขที่ส่งไปก่อนหน้านี้มันฉลาดพอที่จะเข้าใจว่าลูกค้าได้ย้ายไปยังการเชื่อมต่ออื่น ซึ่งหมายความว่าง่ายต่อการท่องจากเครือข่าย Wi-Fi ไปยังเครือข่าย Wi-Fi หรือจากเครือข่าย Wi-Fi ไปยังเครือข่ายมือถือหรือจากเครือข่าย Wi-Fi ไปยังการเชื่อมต่อแบบมีสาย - และอื่น ๆ
ฟีเจอร์ที่ดีอีกอย่างที่ Mosh นำเสนอคือเสียงสะท้อนตามเวลาจริง โดยปกติหากคุณใช้ SSH คุณอาจพบว่ามีความล่าช้าระหว่างการพิมพ์และรอให้ตัวละครของคุณปรากฏบนหน้าจอขณะที่เซิร์ฟเวอร์แสดงสิ่งที่คุณพิมพ์กลับไปหาคุณ
รับมัน
หากคุณสนใจคุณจะดีใจที่รู้ว่าการติดตั้ง Mosh นั้นง่ายพอ ลินุกซ์และ Unix ที่สำคัญส่วนใหญ่มีอยู่ในที่เก็บ หน้าแรกของ Mosh จะแสดงตัวอย่างโดยใช้ Debian และ Ubuntu รวมถึง Gentoo, Arch และ Fedora เนื่องจาก Mac OS X ใช้ Unix ผู้ใช้ Mac จึงสามารถเข้าร่วมได้เช่นกัน มีแพ็คเกจดั้งเดิมและผู้ที่ต้องการรวบรวมบน Mac โดยใช้ Homebrew และ MacPorts หากระบบของคุณไม่มี Mosh เป็นแพ็คเกจคุณสามารถดาวน์โหลดและรวบรวมได้ด้วยตนเองหากคุณต้องการ
เมื่อคุณติดตั้งไคลเอนต์เรียบร้อยแล้วคุณก็พร้อมที่จะเปิด Mosh และเรียกใช้และลงชื่อเข้าใช้คุณลงชื่อเข้าใช้เหมือนกับที่คุณทำกับ SSH ในความเป็นจริง Mosh ไม่ได้จัดการกับการเข้าสู่ระบบจริง ส่งมอบข้อมูลล็อกอินให้ SSH สิ่งนี้มีประโยชน์หากคุณใช้คุณสมบัติการเข้ารหัสกุญแจสาธารณะของ SSH เพื่อเข้าสู่ระบบอย่างปลอดภัยโดยไม่ต้องใช้รหัสผ่าน
มีหนึ่งที่จับเป็นอย่างไรก็ตาม คุณต้องมีเซิร์ฟเวอร์ Mosh เพื่อเชื่อมต่อ โชคดีที่คุณไม่จำเป็นต้องเป็น superuser ในการติดตั้ง คุณสามารถวางไว้ในโฮมไดเร็กตอรี่ของคุณและเปิดใช้วิธีนั้นถ้าคุณไม่สามารถพูดคุยดูแลระบบในการติดตั้ง. Mosh ยังใหม่อยู่เรื่อย ๆ ดังนั้นบางทีสักวันหนึ่งมันก็จะกลายเป็นเซิร์ฟเวอร์ทั่วไปอย่าง SSH
อีกสิ่งหนึ่ง: Mosh คาดว่าเครื่องของคุณจะรองรับ UTF-8 เทอร์มินัลอีมูเลเตอร์สมัยใหม่ทุกตัวทำได้ แต่คุณอาจต้องตั้งค่าตัวแปรสภาพแวดล้อม $ LANG ก่อนที่เซิร์ฟเวอร์บนระบบรีโมตจะยอมรับการเชื่อมต่อ
การมีชีวิตอยู่
ตอนนี้คุณกำลังเชื่อมต่อคุณสามารถทำงานเขียนโค้ดหรือแก้ไขไฟล์กำหนดค่าของคุณหรือจัดการเครื่องระยะไกลไม่ว่าจะที่บ้านที่ทำงานบนรถไฟหรือที่ระดับความสูง
คุณสามารถทดสอบความแข็งแกร่งของ Mosh ได้โดยการตัดการเชื่อมต่อ Wi-Fi ของคุณ Mosh จะแสดงข้อความที่ด้านบนสุดของเครื่องโดยบอกว่าไม่มีการเชื่อมต่อพร้อมกับตัวจับเวลา เชื่อมต่อใหม่และเซสชั่นของคุณจะรับทันทีที่มันออก นอกจากนี้ยังใช้งานได้หากคุณปิดฝาแล็ปท็อปของคุณ
Mosh ดียิ่งขึ้นเมื่อจับคู่กับเทอร์มินัลมัลติเพล็กเซอร์เช่นหน้าจอ GNU หรือ tmux พวกเขาเคยถูกใช้ในแบบที่เป็นในอดีตเพื่อให้เซสชัน SSH ใช้งานได้ผ่านการเชื่อมต่อที่ไม่น่าเชื่อถือ แต่พวกเขายังคงมีข้อได้เปรียบบางอย่างเมื่อใช้กับ Mosh ตัวอย่างเช่นคุณสามารถแยกออกจากขั้วหนึ่งออกจากระบบและเข้าสู่ระบบจากเครื่องอื่นเรียกมัลติเพล็กเซอร์และดำเนินการต่อ สิ่งนี้มีประโยชน์มากสำหรับการทำงานที่ยาวนาน นอกจากนี้ยังเป็นที่นิยมสำหรับผู้ใช้ตัวยงของ IRC เพื่อเชื่อมต่อกับเซิร์ฟเวอร์เชลล์และแยกออกตามความจำเป็น
ถึงเวลาแล้วที่ Mosh
ตอนนี้คุณได้สัมผัสกับวิธีที่ Mosh สามารถทำให้ประสบการณ์การเข้าสู่ระบบจากระยะไกลผ่านมือถือของคุณดีขึ้นมากทำไมไม่ลองด้วยตัวคุณเอง