Зміст:
Якщо ви професійний професіонал, ви, безсумнівно, знаєте про безпечну оболонку (SSH) і регулярно використовуєте її для підключення до віддалених систем. Незважаючи на відмінний інструмент, SSH передбачає, що у вас надійне дротове з'єднання. Це не завжди добре працює на бездротових з'єднаннях, що може бути ненадійним. Один новий інструмент, який змінився, це Mosh або Mobile Shell, який дозволяє користувачам підключатися до віддалених систем і залишатися на зв’язку, навіть коли мережа падає або ви перемикаєтесь на мережі.
Чому Мош?
Безпечна оболонка незамінна для адміністраторів, програмістів та енергокористувачів, яким потрібно входити в сервери, або в залі, або по всій країні. Це безпечна зашифрована заміна для Telnet. Це чудовий інструмент, але він був розроблений у 90-х роках, епосі, перш ніж мобільні комп’ютери на Wi-Fi стали загальними. SSH передбачає надійне дротове з'єднання, що не завжди буває, коли користувачі переходять на мобільний телефон. Підключення до Wi-Fi, як виявили багато людей, часто плямисте, і змінити з'єднання, скажімо, з Wi-Fi на LTE, неможливо, не порушуючи з'єднання.
В іншому випадку це не вина підключення, а скоріше користувач. Або, як кажуть в ІТ, це PEBKAC (проблема існує між клавіатурою та стільцем). Мій улюблений весь час закриває кришку, забуваючи, що я зайшов у віддалену машину через SSH. Я відкриваю кришку і набираю у вікні терміналу, і нічого не відбувається. Все, що я можу зробити, це вбити сеанс і знову увійти. Це дратує, але я це робив незліченну кількість разів, і я впевнений, що і у вас є.
Багато людей намагаються пом'якшити це за допомогою таких програм, як GNU Screen і tmux. Це термінальні мультиплексори, які не лише надають вам щось на зразок перегляду вкладок для командного рядка, але й можуть зберегти ваш сеанс у випадку, якщо ваш зв’язок перерветься. Просто увійдіть, і ви зможете забрати там, де ви зупинилися. Наскільки зручними є ці програми, проблеми із самим SSH все ще залишаються.
Я змирився зі своєю долею SSH, але одного разу я натрапив на нову програму на оболонковому сервері, на якому я висів. Mosh - це спроба покращити SSH, зробивши його придатним для використання на ноутбуках. Це розроблено розумними людьми з MIT, людьми, які принесли нам Лісп (тому вони, напевно, знають хорошу річ, коли бачать його). Кіт Уінштейн, один з головних розробників, створив відео, на якому показано, як це працює.
Творці Mosh описують це як заміну для SSH, який є більш надійним та чуйним, особливо через Wi-Fi, стільникові та міжміські зв’язки.
Як це працює
Mosh використовує новий протокол під назвою Протокол синхронізації стану (SSP). Це ґрунтується на традиційних протоколах віддаленого підключення, таких як Telnet та SSH. Під SSH сервер просто надсилає кілька байтів нижче за течією клієнту для інтерпретації.
SSP додає ще один шар. Сервер і клієнт відстежують, що було надіслано, використовуючи порядкові номери. Якщо сервер отримує порядковий номер, який вищий за той, який він раніше надіслав, досить розумно зрозуміти, що клієнт перейшов на інше з'єднання. Це означає, що легко переходити від мережі Wi-Fi до мережі Wi-Fi, або від мережі Wi-Fi до стільникової мережі, або від мережі Wi-Fi до дротового з’єднання - і так далі.
Ще одна приємна особливість, яку надає Мош, - це відлуння персонажів у реальному часі. Зазвичай, якщо ви перебуваєте на SSH, ви можете виявити затримку між набором тексту та очікуванням появи ваших персонажів на екрані, коли сервер повторює те, що ви вводите назад.
Отримання
Якщо вас заінтригує, ви будете раді дізнатися, що встановити Mosh досить просто. Більшість основних дистрибутивів Linux та Unix мають їх у своїх сховищах. Домашня сторінка Mosh показує приклади використання Debian та Ubuntu, а також Gentoo, Arch та Fedora. Оскільки Mac OS X базується на Unix, користувачі Mac можуть також приєднатися. Там є нативний пакет, і люди, які хочуть скласти його на Mac за допомогою Homebrew та MacPorts. Якщо у вашій системі немає пакету Mosh як пакет, ви можете завантажити і скласти його самостійно, якщо потрібно.
Коли ви встановите клієнт, ви готові розпочати роботу Mosh та увійти в систему. Ви входите так само, як і з SSH. Насправді Mosh насправді не обробляє входи; він передає SSH інформацію про вхід. Це корисно, якщо ви використовуєте функції шифрування відкритого ключа SSH для безпечного входу в систему без необхідності введення пароля.
Однак є одна уловка. Для підключення потрібен сервер Mosh. На щастя, вам не потрібно бути супервайзером, щоб встановити його. Ви навіть можете помістити його у свій домашній каталог і запустити його таким чином, якщо ви не можете поговорити sysadmin про його встановлення. Mosh все ще новий, тому, можливо, колись він стане настільки всюдисущим на серверах, як і SSH.
Інша справа: Mosh очікує, що ваш термінал підтримує UTF-8. Практично всі сучасні емулятори терміналів роблять, але вам, можливо, доведеться встановити змінну середовища $ LANG, перш ніж сервер на віддаленій системі прийме з'єднання.
Залишитися в живих
Тепер, коли ви підключені, ви можете приступити до роботи з кодуванням або редагуванням файлів конфігурації або адміністрацією віддалених машин - вдома, на роботі, у поїзді або на крейсерській висоті.
Ви можете перевірити, наскільки надійний Mosh, відключивши свій Wi-Fi. Mosh відобразить повідомлення у верхній частині терміналу, кажучи, що воно не має з'єднання разом із таймером. Повторно підключіться, і ваш сеанс підбереться там, де він припинився. Він також працює, якщо закрити кришку ноутбука.
Mosh ще краще, коли він поєднується з термінальним мультиплексором, таким як GNU Screen або tmux. У минулому вони використовувались так, як Mosh, щоб підтримувати сеанси SSH активними через ненадійні з'єднання, але вони все ще пропонують деякі переваги при використанні з Mosh. Наприклад, ви можете відключитися від одного терміналу, вийти з системи та увійти з іншої машини, викликати мультиплексор і продовжити його. Це дуже корисно для тривалих робочих місць. Також популярним завзятим користувачам IRC залишається на зв’язку на сервері оболонки та відключається за необхідності.
Час Моша?
Тепер, коли ви зрозуміли, як Mosh може зробити ваш мобільний віддалений вхід набагато кращим, чому б не спробувати це на собі?