На сегодняшний день 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. Тут и множество протоколов, и удобство, и возможность работать в условиях импортозамещения.

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


  1. Nengchak
    06.10.2024 13:44
    +13

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


    1. djton1k
      06.10.2024 13:44

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


      1. baldr
        06.10.2024 13:44
        +8

        Конечно умеет. Это же OpenSSH. Я через него на удалённом виндовом сервере себе туннели поднимаю и работаю.


        1. RosT9mba
          06.10.2024 13:44
          +1

          Поддерживаю предыдущего оратора!)

          С ключами -R -L -D (в зависимости какой туннель нужен), так же можно использовать ProxyJump и короткие алиасы для удобства. C ключом -R можно даже дать интернет удалённой машине без инета, предварительно настроить на своей машине простенький прокси типа Squid.
          Можно себе сильно упростить жизнь, используя ssh config - самая прелесть в том, что один и тот же конфиг работает на Linux, Windows и macOS, достаточно его скопировать в каталог .ssh/ Пользователя и поправить путь, например до приватного ssh ключа.

          Вот пример конфига для WinOS, может кому полезно будет:

          Host srv1
          Hostname 10.10.100.10
          User adm
          PreferredAuthentications publickey
          IdentityFile C:\Users\Usr\.ssh\id_ed25519
          Port 22

          Host srv2
          Hostname 10.10.100.11
          User adm
          PreferredAuthentications publickey
          IdentityFile C:\Users\Usr\.ssh\id_ed25519
          LocalForward 9002 127.0.0.1:9002
          Port 22
          ProxyJump srv1


      1. arheops
        06.10.2024 13:44

        Windows on linux-> ставите убунту ту же из магазина виндоуз, бесплатно. потом просто запускаете в ней полноценный баш и опенссш тунель.

        Единственно, немного криво копи-паст в этой связке работает если сравнивать с secureCRT

        Окна поддерживаются виндоус-терминалом, все остальное включая "запись скриптов" и "автоматизацию Python" автоматом идет из убунту.

        А путти за 20 лет не сделали вкладки - теперь уже и не сделают.


      1. novikovalejandro
        06.10.2024 13:44

        Те кому нужны туннели не нужен gui от слова совсем.


    1. aik
      06.10.2024 13:44

      Ну вот лично мне в нём поддержки кодировок не хватает, табов, списка хостов...
      Это как в линуксе - есть же текстовая консоль, но все почему-то Х'овые эмуляторы терминалов предпочитают.


      1. nEkToSAN
        06.10.2024 13:44
        +1

        Хз, я на работе уже привык к терминалу и на GUI иногда теряюсь в поисках нужной функции)


        1. aik
          06.10.2024 13:44

          Вы теряетесь в функциях эмулятора терминала?



  1. valvalva
    06.10.2024 13:44
    +6

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

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


  1. Andy_U
    06.10.2024 13:44
    +4

    Этот функционал поддерживает простые 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
    +5

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


  1. sukharichev
    06.10.2024 13:44
    +23

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


    1. VirtualVoid
      06.10.2024 13:44
      +4

      1 лицензия это подразумевается на 1 рабочее место?
      Какие-то оч. подозрительные, я бы даже сказал заградительные цены.


      1. sukharichev
        06.10.2024 13:44
        +6

        Или распил на импортозамещении.