Дом сети Mosh: безопасная оболочка без боли

Mosh: безопасная оболочка без боли

Оглавление:

Anonim

Если вы технический специалист, вы, несомненно, знаете о Secure Shell (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 использует новый протокол, который называется State Synchronization Protocol (SSP). Это основано на традиционных протоколах удаленного подключения, таких как Telnet и SSH. При использовании SSH сервер просто отправляет клиенту несколько байтов для интерпретации.


SSP добавляет еще один слой. Сервер и клиент отслеживают то, что было отправлено, используя порядковые номера. Если сервер получает порядковый номер, который выше, чем тот, который он ранее отправил, он достаточно умен, чтобы выяснить, что клиент перешел на другое соединение. Это означает, что можно легко перемещаться из сети Wi-Fi в сеть Wi-Fi, или из сети Wi-Fi в сотовую сеть, или из сети Wi-Fi в проводное соединение - и так далее.


Еще одна приятная особенность, которую предоставляет Mosh, - эхо персонажа в реальном времени. Обычно, если вы используете 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 для подключения. К счастью, вам не нужно быть суперпользователем, чтобы установить его. Вы даже можете поместить его в свой домашний каталог и запустить его таким образом, если не можете убедить сисадмина установить его. Mosh все еще нов, поэтому, возможно, когда-нибудь он станет таким же повсеместным на серверах, как и SSH.


Другое дело: Mosh ожидает, что ваш терминал будет поддерживать UTF-8. Практически все современные эмуляторы терминалов делают это, но вам может потребоваться установить переменную среды $ LANG, прежде чем сервер в удаленной системе примет соединение.

Оставаться в живых

Теперь, когда вы подключены, вы можете приступить к написанию кода, редактированию файлов конфигурации или администрированию удаленных машин, дома, на работе, в поезде или на крейсерской высоте.


Вы можете проверить, насколько надежен Mosh, отключив Wi-Fi. Mosh отобразит сообщение в верхней части терминала, сообщающее, что у него нет соединения, вместе с таймером. Переподключитесь, и ваша сессия будет продолжена там, где она остановилась. Это также работает, если вы закрываете крышку ноутбука.


Mosh еще лучше, когда в паре с терминальным мультиплексором, таким как GNU Screen или tmux. Они использовались в прошлом, как Mosh, для поддержания активных сеансов SSH по ненадежным соединениям, но они все еще предлагают некоторые преимущества при использовании с Mosh. Например, вы можете отсоединиться от одного терминала, выйти из системы и войти с другой машины, вызвать мультиплексор и продолжить его. Это очень полезно для длительной работы. Для заядлых пользователей IRC также популярно оставаться подключенным к серверу оболочки и отключаться по мере необходимости.

Время для Mosh?

Теперь, когда вы получили представление о том, как Mosh может сделать ваш опыт удаленного входа с мобильного устройства намного лучше, почему бы не попробовать это самостоятельно?

Mosh: безопасная оболочка без боли