PuTTY
PuTTY — это свободно распространяемый клиент для протоколов SSH, Telnet, rlogin и последовательного порта. Разработанный британским программистом Саймоном Тэтхемом (Simon Tatham) для операционной системы Windows, PuTTY является одним из наиболее популярных и широко используемых инструментов для удалённого администрирования серверов и сетевого оборудования.
История
Первая версия PuTTY была выпущена в 1998 году. Изначально проект создавался как клиент для протокола Telnet, но быстро получил поддержку SSH, который стал основным протоколом для безопасного удалённого доступа. Название «PuTTY» не является аббревиатурой и, по словам автора, не имеет конкретного значения, хотя существует версия, что оно происходит от «PuTTY» — названия утилиты для работы с последовательными портами в некоторых Unix-системах.
С момента создания PuTTY развивается как проект с открытым исходным кодом, распространяемый под лицензией MIT. Это означает, что любой желающий может свободно использовать, изменять и распространять программу. Основной платформой является Windows, однако существуют порты для Unix-подобных систем (например, putty в репозиториях Linux) и мобильных платформ.
Ключевые возможности
PuTTY предоставляет широкий набор функций для работы с удалёнными системами:
- Поддержка протоколов: SSH (включая SSH-1 и SSH-2), Telnet, rlogin, а также подключение через последовательный порт (COM-порт).
- Безопасность: Поддержка аутентификации по паролю, по ключам (RSA, DSA, ECDSA, Ed25519), а также туннелирование (перенаправление портов) для создания безопасных каналов связи.
- Настройка сессий: Возможность сохранять параметры подключения (адрес, порт, тип протокола, настройки терминала) в виде именованных сессий для быстрого доступа.
- Работа с терминалом: Эмуляция различных типов терминалов (xterm, VT100, Linux и др.), настройка цветов, шрифтов и кодировок (включая поддержку кириллицы в кодировках UTF-8, CP1251, KOI8-R).
- Дополнительные утилиты: В состав пакета входят несколько вспомогательных программ, расширяющих функциональность.
Состав пакета
Помимо основного исполняемого файла putty.exe, в состав дистрибутива входят несколько утилит:
- PuTTY (putty.exe) — основной клиент для SSH, Telnet и последовательного порта.
- PuTTYgen (puttygen.exe) — генератор ключей SSH. Позволяет создавать пары открытых и закрытых ключей для аутентификации, а также конвертировать ключи из других форматов.
- Pageant (pageant.exe) — агент аутентификации SSH. Хранит расшифрованные закрытые ключи в памяти и автоматически предоставляет их при подключении к серверам, избавляя от необходимости каждый раз вводить парольную фразу.
- Plink (plink.exe) — интерфейс командной строки для PuTTY. Позволяет выполнять команды на удалённом сервере из скриптов или командной строки Windows без открытия графического окна.
- PSFTP (psftp.exe) — клиент для протокола SFTP (SSH File Transfer Protocol). Предоставляет интерфейс командной строки для передачи файлов между локальной и удалённой системами.
- PuTTYtel (puttytel.exe) — упрощённая версия PuTTY, поддерживающая только протокол Telnet.
Классификация и применение
PuTTY относится к классу эмуляторов терминала и клиентов для удалённого доступа. Основные области применения:
- Администрирование серверов: Наиболее частое использование. Системные администраторы Linux и Unix-подобных систем используют PuTTY для управления серверами через SSH.
- Настройка сетевого оборудования: Коммутаторы, маршрутизаторы, межсетевые экраны (например, Cisco, Juniper, MikroTik) часто настраиваются через Telnet или SSH, для чего PuTTY является стандартным инструментом.
- Работа с последовательным портом: Используется для подключения к консоли оборудования (например, для восстановления пароля или первоначальной настройки) через COM-порт.
- Туннелирование: Создание SSH-туннелей для безопасного доступа к внутренним ресурсам сети (например, к базе данных или веб-интерфейсу) через внешний сервер.
Критика и альтернативы
Несмотря на популярность, PuTTY имеет ряд недостатков, которые отмечаются пользователями:
- Устаревший интерфейс: Графический интерфейс PuTTY не претерпел значительных изменений с момента создания и выглядит архаично по сравнению с современными программами.
- Отсутствие вкладок: По умолчанию PuTTY не поддерживает работу с несколькими сессиями в одном окне (табуляцию). Для решения этой проблемы существуют сторонние оболочки (например, SuperPuTTY, MTPuTTY) или используется
mRemoteNG. - Ограниченная поддержка Unicode: В старых версиях были проблемы с отображением некоторых символов, хотя в современных версиях (0.77 и новее) поддержка UTF-8 значительно улучшена.
- Отсутствие нативной поддержки SOCKS-прокси: Для использования SOCKS-прокси требуется дополнительная настройка через туннелирование.
Альтернативами PuTTY являются:
- OpenSSH (в Windows 10/11): Встроенный клиент SSH в командной строке Windows, который стал доступен после обновления. Он лишён графического интерфейса, но интегрирован в систему.
- KiTTY: Форк PuTTY с расширенными функциями (вкладки, автоматическая отправка команд, поддержка SSH-агента Windows).
- MobaXterm: Мощный терминал с поддержкой вкладок, встроенным X-сервером и множеством сетевых утилит.
- Termius: Кроссплатформенный клиент с современным интерфейсом и синхронизацией между устройствами.
Интересные факты
- PuTTY является одной из немногих программ, которая сохраняет обратную совместимость с очень старыми версиями протокола SSH-1, который считается небезопасным.
- Исходный код PuTTY написан на языке C и отличается высокой переносимостью. Он был портирован на множество платформ, включая Windows, Linux, macOS, FreeBSD и даже на некоторые встраиваемые системы.
- Несмотря на то, что PuTTY — программа с открытым исходным кодом, её разработка ведётся в основном одним человеком — Саймоном Тэтхемом, что является редким примером долгосрочного успешного проекта в одиночку.
Источники
- Официальный сайт проекта PuTTY (www.chiark.greenend.org.uk/~sgtatham/putty/).
- Документация PuTTY (README, FAQ).
- Репозиторий исходного кода PuTTY на Git.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →