На сегодняшний день SSH-клиентов написано множество: от встроенных в ОС терминалов до отечественных решений вроде МС22. Я решил протестировать популярные варианты и сравнить, какой будет лучше.

Встроенные терминалы ОС

Для начала поговорим о том, что поставляется вместе с операционками.

Windows Terminal

Последние версии Windows 10 и Windows 11 включают встроенный сервер SSH и клиент на базе OpenSSH. Сеанс SSH запускается в командной строке по команде ssh user@machine. [источник]

Этот функционал поддерживает простые SSH-команды: подключение к серверу, использование ключей, и тд. Однако это всё же не специализированное ПО.

В командной строке отсутствует графический интерфейс для управления сессиями, возможности типа туннелирования там недоступны. Для простых задач этого может хватить, но для множества серверов и сессий лучше найти что-нибудь помощнее.

macOS Terminal

В macOS также имеется встроенный терминал. Начало работы аналогичное: ssh user@IP-Address.  [источник]

Поддерживаются такие протоколы, как SSH, SCP и SFTP, можно работать с *nix-серверами. Но здесь, как и с Windows, возможности ограничены.

Linux Terminal

В каждом дистрибутиве Linux командная строка позволяет устанавливать ssh-сессии, и здесь нет принципиальных отличий от предыдущих пунктов. [источник]

Здесь возможна и поддержка ssh-ключей, и работа с разными сетевыми протоколами.

Недостатки встроенного терминала Linux - такие же, как и в двух предыдущих пунктах. Графический интерфейс и удобная поддержка нескольких сессий здесь отсутствуют.

***

Встроенные в ОС терминалы - это всё же стандартные приложения без дополнительных возможностей настройки. Они подойдут для управления максимум 1-2 серверами. Поэтому стоит искать специализированные ssh-клиенты.

Я попробовал наиболее популярные решения, чтобы проверить, какие из них будут лучше.

PuTTY

PuTTY один из самых известных и старых SSH-клиентов. Когда-то он решал задачу, как подключиться из Windows к Linux-серверам.  Он распространяется бесплатно и доступен для Windows и Linux.

Поддерживает такие протоколы, как SSH, Telnet, SCP, SFTP. PuTTY позволяет сохранять сессии, конфигурации подключения, ключи SSH и другие параметры, с его помощью можно реализовать проброс портов… [источник]

Это мощное решение, однако неудобное чисто с точки зрения пользовательского опыта: нельзя открыть много вкладок за раз, для нового соединения в принципе надо открывать программу снова и снова, и так далее. Чтобы решить этот вопрос, можно поставить PuTTY Connection Manager, но это всё же дополнительные действия. С PuTTY хорошо работать, когда под управлением до 4-5 серверов.

SecureCRT

Создатели акцентируют внимание на его безопасности. [источник]

Работает со множеством протоколов: SSH 1 и 2, Telnet, rlogin, Serial. Поддерживает работу со множеством вкладок. 

В SecureCRT рутинные задачи можно автоматизировать при помощи скриптов на Python и других языках, либо с помощью функционала записи скрипта. [источник]

Однако это платное ПО. К тому же, при работе с большим количеством сессий SecureCRT потребляет больше ресурсов, чем тот же PuTTY.

MobaXterm

Легковесное ПО, к которому при желании можно скачать и установить плагины на любой вкус. [источник]

MobaXterm поддерживает SSH, RDP, VNC, SFTP, SCP и FTP. В нём реализованы поддержка нескольких вкладок и возможность создавать макросы. Можно управлять сразу несколькими серверами и запускать графические приложения на них.

MobaXterm - тоже платное ПО. Для него существует Home Edition, однако с сильно урезанными функциями: можно создавать за раз не более 12 сессий, 4 SSH-туннеля. В Home Edition можно создать всего 4 макроса. Этого маловато для полноценной работы, особенно когда хочется автоматизировать рутину.

SmarTTY

SSH-клиент для Windows, разработанный с акцентом на удобство использования и расширенную функциональность. Позволяет на лету копировать файлы с помощью SCP и редактировать их. [источник]

Есть встроенный графический менеджер, который позволяет перетаскивать файлы между локальным компьютером и удалённым сервером.

В SmarTTY также реализована поддержка нескольких вкладок. Создатели не зря упирают на удобство в плане UX: программа больше похожа на старый интегратор, нежели на SSH-клиент, в ней хорошо редактировать файлы, всё отлично визуализировано. Есть возможность настроить подсказки в командной строке.

Удобно, только вот серьёзно администрировать сервера с его помощью не получится. Протоколов поддерживается мало, о более сложных функциях типа проброса портов речи не идёт в принципе.

Xshell

Мощное решение с интуитивным интерфейсом: поддерживает множество протоколов, автоматизацию задач при помощи скриптов на разных языках, и так далее. [источник]

В Xshell возможно создание пользовательских профилей, так что не требуется вводить данные каждой сессии заново. Можно настроить цвета интерфейса и быстрые команды. Возможно даже создание триггеров, которые будут выполняться, когда на экране появятся определённые команды.

Настоящий монстр - но и стоит соответственно. Цены начинаются от 99 долларов в год.

МС22

Отечественный (как ни странно, единственный, который нашел, отечественный) SSH-клиент, который поддерживает множество протоколов: SSH, SFTP, Telnet, Serial, RDP и VNC. Пользователям доступна круглосуточная поддержка на русском языке. [источник]

Как и в XShell, в МС22 реализованы функционал закладок и пользовательских профилей. Чтобы сохранить сессию, её можно добавить в закладки и привязать к профилю: тогда не потребуется вводить данные входа снова и снова. Вкладок с сессиями в МС22 можно открывать несколько.

Рутина вполне автоматизируется: в МС22 есть составные быстрые команды (когда выполняются сразу несколько действий), есть возможность вызывать эти команды по сочетанию клавиш.

Из любопытного: при подключении в МС22 автоматическии подключается SFTP для передачи файлов, то есть, отдельное ПО для работы с файлами можно не использовать. Такого я у других ssh-клиентов не помню.

Есть возможность настроить оформление. В МС22 реализована поддержка двойных шрифтов для ASCII и не ASCII символов, чтобы названия файлов правильно отображались.

Заключение

Упорядочив, получаем таблицу.

Терминал

Протоколы

Поддержка нескольких вкладок

Автоматизация рутины

Цена

PuTTY

SSH, Telnet, SCP, SFTP

Нет

Нет

-

SecureCRT

SSH, Telnet, RLOGIN, SERIAL

Да

Да, в тч с помощью языков программирования или записи макроса

от $100

MobaXTerm

SSH, RDP, VNC, SFTP, SCP, FTP

Да

Да, через запись макроса

Professional Edition от $69

SmartTTY

SSH, SFTP, SCP

Да

Нет

-

Xshell

SSH, SFTP, TELNET, RLOGIN, SERIAL

Да + функционал профилей

Да

от $99

МС22

SSH, Mosh, SFTP, Telnet, RDP, RFB

Да + функционал профилей

Да, в тч составные команды

от 2 500 ₽

Каждый выбирает по потребностям. Мне совершенно не хватает того, что может дать встроенный терминал. PuTTY, ветеран в этой области, подойдёт для личного использования.

Хорошие корпоративные решения с удобным UX, как правило, и денег стоят хороших. Кроме того, на территории России компаниям с госучастием со следующего года нельзя будет использовать зарубежное ПО.

В итоге для корпоративных нужд был выбран МС22. Тут и множество протоколов, и удобство, и возможность работать в условиях импортозамещения.

Комментарии (16)


  1. Nengchak
    06.10.2024 13:44
    +8

    А зачем все это? SSH клиент уже встроен в винду, ставится легко на мак\linux и все работает хорошо


    1. djton1k
      06.10.2024 13:44

      Он умеет создавать туннели?



  1. valvalva
    06.10.2024 13:44
    +5

    • стандартные приложения без дополнительных возможностей...

    Помогут ключи -R и -L, ssh-keygen, ssh-copy-id


  1. Andy_U
    06.10.2024 13:44
    +2

    Этот функционал поддерживает простые SSH-команды: подключение к серверу, использование ключей, и тд. Однако это всё же не специализированное ПО.

    В командной строке отсутствует графический интерфейс для управления сессиями, возможности типа туннелирования там недоступны. Для простых задач этого может хватить, но для множества серверов и сессий лучше найти что-нибудь помощнее.

    Чтобы вы понимали, это

    >ssh -V

    OpenSSH_for_Windows_8.6p1, LibreSSL 3.4.3

    Все тот же OpenSSH, к серверу которого вы в будете коннектиться в подавляющем большинстве случаев. Т.е. именно этот клиент (вместе с sftp и stp) и является максимально совместимым с сервером (OpenSSH) по опциям и возможностям.

    Единственно, что PuTTYgen приходится иметь в заначке по единственной причине - NetBOX, который в Far manager sftp/scp обеспечивает, требует ключи в формате Putty, вдобавок еще и в устаревшем формате v.2.


  1. warus
    06.10.2024 13:44
    +3

    зачем? в cтандартном ssh и scp есть порты тунели прекрасно пробразываются, а вкладки пускай терминал и tmux этим занимаются, зачем эти костыли онли винда?
    кстати когда? putty разучился работать с ком портом SERIAL?
    автоматизация ansible со стандартным ssh прекрасно работает, что это за недоделки?
    можно тунель можно до rdp, VNC машины добросить или тот же xserver, но зачем он нужен в ssh клиенте,
    есть Remmina которая не rdp, vnc, не ssh клиент, а существующие склеивает, вкладки, почта голос там есть


  1. sukharichev
    06.10.2024 13:44
    +5

    Обещали рассмотреть ссш-клиенты, а рассмотрели агрегаторы соединений (или как их правильно назвать?). При этом бесплатный и opensource mremote-ng как-то не упомянули. У него есть минусы, но забесплатно лучше ничего не видел. Существенных минусов всего три - немного мылит картинку в RDP, странно реагирует на alt+tab, и передача файлов отдельно. Если в основном работаете с ssh, а RDP изредка или недолго - оптимальный вариант. А за деньги все равно лучше mobaxterm ничего нет.
    UPD: МС22 стоит 2500 р. В МЕСЯЦ?
    Они там нормальные вообще? MobaXterm пожизненная с обновлениями на первый год 49 Евро выходит дешевле!


  1. Falstaff
    06.10.2024 13:44

    И ещё есть https://mosh.org/ - он не строго SSH, но удобно в дороге, при плохом соединении.


  1. Sergey1124
    06.10.2024 13:44

    Есть ещё плагин для JetBrains IDEs: https://plugins.jetbrains.com/plugin/18857-friendly-terminal


  1. CrazyHackGUT
    06.10.2024 13:44

    Еще чисто под Винду есть Bitvise. Там нет вкладок, разве что.


  1. Akuma
    06.10.2024 13:44

    Пользовался Putty во времена когда в винде не было ничего встроенного. И нафиг надо. Эти неизвестные никому алгоритмы ключей, брр.

    Все что нужно от ssh есть в стандартном клиенте openssh. И именно к нему вы будете подключаться в 99.9% случаях. Так зачем что-то другое? Менеджер подключений разве что может пригодиться. Хотя по факту если у вас миллион ключей, как у меня, то можно их все раскидать в .ssh/config и будет вам счастье.


  1. podvox23
    06.10.2024 13:44

    tabby еще хорош


  1. peter23
    06.10.2024 13:44

    Чем МС22 отличается от https://electerm.html5beta.com/?


  1. lordleto
    06.10.2024 13:44

    Я бы еще кроссплатформенный termius добавил. Очень удобно, особенно с телефона + встроенный chatgpt.


  1. antirek
    06.10.2024 13:44

    под ubuntu пользуюсь asbru-cm https://www.asbru-cm.net/


  1. d2d8
    06.10.2024 13:44

    Всё то, что автор описал как недостатки putty есть в его форке kitty (вкладки, скрипты, сеансы).