PuTTY — бесплатный клиентский терминальный эмулятор и набор сетевых утилит для удалённого доступа, разработки и сопровождения компьютерных систем. Программа изначально разрабатывалась для операционной системы Microsoft Windows, позже появились порты и сборки для других платформ; приложение предоставляет графический интерфейс и командную строку для установления соединений по различным сетевым протоколам. PuTTY традиционно используется для взаимодействия с UNIX-подобными системами и сетевыми устройствами через защищённые каналы.
В функциональном плане PuTTY сочетает в себе реализацию нескольких протоколов передачи данных и консольного ввода-вывода: поддерживаются SSH (включая разные версии и методы аутентификации), Telnet, rlogin, последовательные соединения и простые сырьевые TCP-соединения. Кроме основного терминального эмулятора программа содержит утилиты для генерации и управления ключами, агентной аутентификации, а также конфигурации параметров терминала, кодировок и перенаправления портов. Интерфейс ориентирован на настройку соединений, параметры сеанса и сохранение конфигураций для повторного использования.
- Поддержка протоколов: SSH (включая SSH-2), Telnet, rlogin, последовательный порт и сырой TCP.
- Терминальная эмуляция: эмуляция VT100, xterm-подобных функций и базовых терминальных параметров.
- Аутентификация ключами: генерация пар ключей, управление приватными ключами и поддержка агентной аутентификации.
- Перенаправление каналов: локальное, удалённое и динамическое перенаправление портов (т.н. туннелирование).
- Конфигурация сеансов: сохранение и загрузка настроек сеансов, параметров шрифта, цвета и поведения терминала.
- Командная строка и GUI: сочетание графической оболочки для настройки и запуска сессий с возможностью автоматизации через параметры запуска.
- Кроссплатформенность: оригинальная реализация для Windows и сторонние порты/сборки для UNIX-подобных ОС.
- Лёгкость и компактность: небольшие исполняемые файлы и относительная простота развёртывания на рабочих машинах.
- Шифрование и безопасность: использование криптографических алгоритмов для защиты канала и опции проверки целостности соединения.