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