Mosh, который означает Мобильный Шелл, – это командная строка, которая используется для подключения к серверу с клиентского компьютера через Интернет. Он может использоваться как SSH и содержит больше функций, чем Безопасная Оболочка.
Это приложение, похожее на SSH, но с дополнительными функциями. Приложение было изначально написано Китом Винстайном для операционных систем, подобных Unix, и выпущено под лицензией GNU GPL v3.

Особенности Mosh
- Это удаленное терминальное приложение, поддерживающее роуминг.
- Доступно для всех основных UNIX-подобных ОС, включая Linux, FreeBSD, Solaris, Mac OS X и Android.
- Поддерживается прерывистое соединение.
- Обеспечивает интеллектуальное локальное эхо.
- Поддерживается редактирование строк пользовательских нажатий клавиш.
- Отзывчивый дизайн и надежная природа через wifi, сотовую связь и дальние расстояния.
- Остается подключенным даже при изменении IP. Вместо TCP (используемого SSH) использует UDP. TCP прерывается, когда соединение сбрасывается или присваивается новый IP, но UDP сохраняет соединение открытым.
- Соединение остается целым, когда вы возобновляете сессию после долгого времени.
- Отсутствие сетевой задержки. Показывает набранные пользователем клавиши и удаления сразу без сетевой задержки.
- Тот же старый метод входа, что и в SSH.
- Механизм обработки потери пакетов.
Установка оболочки Mosh в Linux
На системах, подобных Debian, Ubuntu и Mint, вы можете легко установить пакет Mosh с помощью менеджера пакетов apt-get, как показано.
# apt-get update # apt-get install mosh
На дистрибутивах, основанных на RHEL/CentOS/Fedora, вам нужно включить сторонний репозиторий под названием EPEL, чтобы установить mosh из этого репозитория с помощью менеджера пакетов yum, как показано.
# yum update # yum install mosh
На версии Fedora 22+ вам нужно использовать менеджера пакетов dnf для установки mosh, как показано.
# dnf install mosh
На других дистрибутивах Linux его можно установить, как показано.
# pacman -S mosh [On Arch/Manjaro Linux] $ sudo zypper in mosh [On OpenSuse] # emerge net-misc/mosh [On Gentoo]
Как использовать Mosh Shell?
1. Давайте попробуем войти на удаленный Linux сервер, используя mosh shell.
$ mosh [email protected]

Примечание: Вы видели, что у меня возникла ошибка при подключении, поскольку порт не был открыт на моем удаленном CentOS 7 боксе. Быстрое, но не рекомендуемое решение, которое я выполнил, было:
# systemctl stop firewalld [on Remote Server]
Предпочтительный способ – это открыть порт и обновить правила брандмауэра. А затем подключиться к mosh на предопределенном порту. Для более подробной информации о firewalld вы можете посетить этот пост.
2. Допустим, что стандартный порт SSH 22 был изменен на порт 70, в этом случае вы можете определить пользовательский порт с помощью команды ‘-p‘ в mosh.
$ mosh [email protected] --ssh="ssh -p 70"
3. Проверьте версию установленного Mosh.
$ mosh --version

4. Вы можете закрыть сессию mosh, набрав ‘exit‘ в командной строке.
$ exit
5. Mosh поддерживает множество опций, которые вы можете увидеть как:
$ mosh --help

Недостатки оболочки Mosh
- Mosh требует дополнительных предварительных условий, например, разрешения прямого подключения через UDP, что не требовалось для SSH.
- Динамическое распределение портов в диапазоне 60000-61000. Выделяется первый свободный порт. Требуется один порт на подключение.
- Стандартное распределение портов является серьезной проблемой безопасности, особенно в производственной среде.
- Поддерживаются подключения IPv6, но роуминг в сети IPv6 не поддерживается.
- Не поддерживается сохранение истории прокрутки.
- Не поддерживается перенаправление X11.
- Не поддерживается перенаправление ssh-agent.
Заключение
Мош – это удобная небольшая утилита, которая доступна для загрузки в репозитории большинства дистрибутивов Linux. Хотя у нее есть несколько расхождений, особенно в отношении безопасности и дополнительных требований, ее функции, такие как оставание подключенным даже во время роуминга, являются ее плюсом. Мое рекомендация – каждый пользователь Linux, который работает с SSH, должен попробовать это приложение, и запомните, Mosh стоит попробовать.
Source:
https://www.tecmint.com/mosh-shell-ssh-alternative-on-linux/