Как установить оболочку Mosh в качестве альтернативы SSH на Linux

Mosh, который означает Мобильный Шелл, – это командная строка, которая используется для подключения к серверу с клиентского компьютера через Интернет. Он может использоваться как SSH и содержит больше функций, чем Безопасная Оболочка.

Это приложение, похожее на SSH, но с дополнительными функциями. Приложение было изначально написано Китом Винстайном для операционных систем, подобных Unix, и выпущено под лицензией GNU GPL v3.

Mosh Shell SSH Client

Особенности Mosh

  1. Это удаленное терминальное приложение, поддерживающее роуминг.
  2. Доступно для всех основных UNIX-подобных ОС, включая Linux, FreeBSD, Solaris, Mac OS X и Android.
  3. Поддерживается прерывистое соединение.
  4. Обеспечивает интеллектуальное локальное эхо.
  5. Поддерживается редактирование строк пользовательских нажатий клавиш.
  6. Отзывчивый дизайн и надежная природа через wifi, сотовую связь и дальние расстояния.
  7. Остается подключенным даже при изменении IP. Вместо TCP (используемого SSH) использует UDP. TCP прерывается, когда соединение сбрасывается или присваивается новый IP, но UDP сохраняет соединение открытым.
  8. Соединение остается целым, когда вы возобновляете сессию после долгого времени.
  9. Отсутствие сетевой задержки. Показывает набранные пользователем клавиши и удаления сразу без сетевой задержки.
  10. Тот же старый метод входа, что и в SSH.
  11. Механизм обработки потери пакетов.

Установка оболочки 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]
Mosh Shell Remote Connection

Примечание: Вы видели, что у меня возникла ошибка при подключении, поскольку порт не был открыт на моем удаленном CentOS 7 боксе. Быстрое, но не рекомендуемое решение, которое я выполнил, было:

# systemctl stop firewalld    [on Remote Server]

Предпочтительный способ – это открыть порт и обновить правила брандмауэра. А затем подключиться к mosh на предопределенном порту. Для более подробной информации о firewalld вы можете посетить этот пост.

  1. Как настроить Firewalld в CentOS, RHEL и Fedora

2. Допустим, что стандартный порт SSH 22 был изменен на порт 70, в этом случае вы можете определить пользовательский порт с помощью команды ‘-p‘ в mosh.

$ mosh [email protected] --ssh="ssh -p 70"

3. Проверьте версию установленного Mosh.

$ mosh --version
Check Mosh Version

4. Вы можете закрыть сессию mosh, набрав ‘exit‘ в командной строке.

$ exit

5. Mosh поддерживает множество опций, которые вы можете увидеть как:

$ mosh --help
Mosh Shell Options

Недостатки оболочки Mosh

  1. Mosh требует дополнительных предварительных условий, например, разрешения прямого подключения через UDP, что не требовалось для SSH.
  2. Динамическое распределение портов в диапазоне 60000-61000. Выделяется первый свободный порт. Требуется один порт на подключение.
  3. Стандартное распределение портов является серьезной проблемой безопасности, особенно в производственной среде.
  4. Поддерживаются подключения IPv6, но роуминг в сети IPv6 не поддерживается.
  5. Не поддерживается сохранение истории прокрутки.
  6. Не поддерживается перенаправление X11.
  7. Не поддерживается перенаправление ssh-agent.

Заключение

Мош – это удобная небольшая утилита, которая доступна для загрузки в репозитории большинства дистрибутивов Linux. Хотя у нее есть несколько расхождений, особенно в отношении безопасности и дополнительных требований, ее функции, такие как оставание подключенным даже во время роуминга, являются ее плюсом. Мое рекомендация – каждый пользователь Linux, который работает с SSH, должен попробовать это приложение, и запомните, Mosh стоит попробовать.

Source:
https://www.tecmint.com/mosh-shell-ssh-alternative-on-linux/