OpenSSH это набор свободных программ, позволяющих создавать зашифрованные каналы связи через компьюрные сети при помощи протокола SSH.
Список возможностей OpenSSH:
Полностью открытый проект (open source) со свободной лицензией
Исходники OpenSSH открыты, и каждый кто хочет может скачать их из Интернет. Это позволяет копировать код в свои продукты, т.е. использовать его повторно, а также способствует аудиту кода. Проверка кода гарантирует, что ошибки могут быть найдены и исправлены любым пользователем. Это делает код более безопасным. OpenSSH не распространяется в соответствии с какими-то ограничивающими свободу лицензиями. OpenSSH может быть использован для любых целей, в том числе для коммерческих. Лицензия находится в самом дистрибутиве. Мы считаем, что мир был бы лучше, если бы в маршрутизаторах, сетевых appliances, операционных системах и во всех других сетевых устройствах был бы встроен SSH. Весь код, на который распространялись патенты или какие-то другие компоненты ограничительного характера, был удален из проекта. Любые лицензированные или запатентованные компоненты подключаются/используются из внешних библиотек (например, LibreSSL).
Поддержка стойкого шифрования (AES, ChaCha20, RSA, ECDSA, Ed25519...)
Процесс шифрования трафика начинается еще перед процессом аутентификации. Ни пароли, ни какая-то другая информация не передаётся в открытом виде. Шифрование также используется для защиты от поддельных (spoofed) пакетов. Доступно несколько различных шифров и типов ключей, а устаревшие варианты обычно со временем удаляются.
X11 forwarding (шифрование трафика X Window System)
X11 Fowarding позволяет шифровать трафик X Window System таким образом, чтобы никто не смог отследить ваши удалённые соединения xterm или вставить вредоносные комманды. Программа автоматически устанавливает DISPLAY на стороне сервера и перенаправляет весь X11 трафик через зашифрованный канал. Автоматически генерируется много ложного Xauthority трафика и отправляется на удаленную машину; клиент автоматически проверяет входящее X11 соединение и заменяет поддельные данные на реальные (при этом никогда не говорит удаленной стороне реальные данные).
Port forwarding (шифрованные каналы для традиционных протоколов)
Port Forwarding (иногда называемый "пробросом портов") позволяет создавать зашифрованный канал для каждого нового устанавливаемого TCP/IP соединения с удаленной машиной. Стандартные интернет приложения, например POP, могут быть обезопасены таким образом.
Строгая аутентификация (асимметричне шифрование, одноразовые пароли)
Строгая аутентификация позволяет избавиться от нескольких проблем безопасности: подмена IP (IP spoofing), подмена или манипуляция с маршрутами (fakes routes) и подмена DNS (DNS spoofing). Методы аутентификации включают в себя поддержку крито-систем с открытым ключом, одноразовые пароли s/key и аутентификацию при помощи Kerberos (только в -portable версии).
Agent forwarding
Агент аутентификации (authentication agent), запущенный на лептопе или другом компьютере пользователя, может использоваться для хранения пользоватьских ключей. OpenSSH автоматически определяет агента через любое соединение, поэтому нет необходимости в хранении ключей на всех машинах в сети (за исключением компьютера пользователя). Протокол аутентификации никогда не пересылает ключи; они могут используются лишь для проверки того, что агент содержит необходимый ключ. В конечном счёте, агент может использовать smart карту для обеспечения всех аутентификационных вычислений.
OpenSSH расширяет исходный протокол агента SSH, используя некоторые path-based ограничения для ключей.
Совместимость
Совместимость с другими реализациями является целью, но не обещанием. В процессе разработки OpenSSH, старые протоколы, шифры, типы ключей, а также поддержка других возможностей, которые имеют известные недостатки, обычно отключаются. Некоторые примеры можно найти на странице legacy.
Поддержка SFTP-клиента и -сервера
Полная поддержка SFTP, при помощи клиента sftp(1) и подсистемы sftp-server(8) в качестве сервера.
Сжатие данных при передаче
Сжатие данных перед шифрованием увеличивает скорость передачи данных, которая особенно заметна и важна при медленных сетевых соединениях.