OpenSSH

OpenSSH
OpenSSH
Openssh.gif
Тип

Удалённый доступ

Разработчик

Проект OpenBSD

Операционная система

Семейство Unix

Последняя версия

6.1 (29 августа 2012)

Лицензия

Лицензия BSD

Сайт

www.openssh.org

OpenSSH (открытая безопасная оболочка) — набор программ, предоставляющих шифрование сеансов связи по компьютерным сетям с использованием протокола SSH. Он был создан под руководством Teo de Raadt (Тео де Раадт) как открытая альтернатива проприетарного ПО от SSH Communications Security.

Содержание

История

OpenSSH был создан командой OpenBSD как альтернатива SSH, который все еще является проприетарным ПО. Разработчики OpenSSH утверждают, что он более безопасен чем оригинальный Secure Shell, благодаря их политике чистки и аудита кода. Хотя исходный код также длительное время был доступен для оригинального SSH[1], ограничения его лицензии изначально делали OpenSSH более привлекательным проектом для большинства программистов.

OpenSSH впервые появился в OpenBSD 2.6.

В версии 5.9 вышедшей 6 сентября 2011 появился экспериментальный режим «песочницы», с ограничениям на определённые системные вызовы. Цель этого — предотвращение атаки на другие узлы сети, например, посредством запуска прокси или открытия сокетов.

Торговые марки

В феврале 2001 года, Тату Илонен (фин. Tatu Ylönen), председатель и технический директор SSH Communications Security, сообщил через почтовую рассылку OpenSSH, что после общения с ведущими разработчиками OpenSSH компания утвердила право собственности на торговые марки «SSH» и «Secure Shell». Он также искал возможности изменить название протокола на SecSH или secsh и предложил сменить имя OpenSSH, во избежании судебных исков.

В то же время, «SSH», «Secure Shell» и «ssh» были использованы в документах определяющих протокол как открытый стандарт и было проделано много работы без принадлежности к торговым маркам. Были высказаны сомнения в правильности претензий, ведь прошло уже 6 лет с создания компании и тем моментом, когда она начала защищать торговую марку от свободных альтернатив, вроде OpenSSH, и что только OpenSSH подвергся их судебным нападкам.

Оба разработчика OpenSSH и Илонен были членами рабочей группы IETF, разрабатывающей новые стандарты, которые после небольшого обсуждения отвергла любые притязания Илонена на переименование протокола, ссылаясь на то, что это создаст нежелательный прецедент для других торговых марок. Члены рабочей группы утверждали, что обозначения «Secure Shell» и «SSH» являются базовыми понятиями и не могут являться торговыми марками.

Переносимость

Частично потому, что OpenSSH необходимо выполнять аутентификацию, выполнение которой может сильно отличаться на различных операционных системах, была создана мощная инфраструктура для обеспечения переносимости. То, что не включалось напрямую в OpenBSD, было выделено отдельно группой разработчиков в составе Дамьена Миллера (англ. Damien Miller), Филиппа Хэндса (англ. Philip Hands) и других как субпроект OpenSSH Portable. Теперь параллельно и одновременно с релизом OpenSSH «для OpenBSD» стали выпускаться так называемые «portable releases». Эти релизы обозначаются в конце буквой «p», например: OpenSSH_5.1p1. Такая организация процесса разработки позднее стала использоваться и в других проектах, разрабатываемых внутри OpenBSD, например, OpenNTPD.

Состав

Набор OpenSSH содержит следующие компоненты:

ssh
Замена для rlogin и telnet.
scp
Замена для rcp, использующая в современных версиях OpenSSH протокол SFTP (ранее использовался менее надёжный и гибкий SCP).
sftp
Замена для FTP-клиента, использующая протокол SFTP.
sshd
Демон, собственно предоставляющий защищённый доступ к ресурсам. Включает реализацию серверной части SFTP, пригодную для организации chroot-доступа для пользователей без необходимости копирования каких-либо файлов внутрь chroot.
sftp-server
Отдельная реализация подсистемы SFTP (серверная часть). Обладает бо́льшими возможностями, чем встроенная в sshd.
ssh-keygen
Генератор пар ключей.
ssh-keysign
Утилита для проверки ключей хостов. Задействуется при использовании аутентификации по хостам (аналогично rsh) вместо проводимой по умолчанию аутентификации по пользователям.
ssh-keyscan
Вспомогательная утилита. Позволяет собирать публичные ключи с других хостов.
ssh-agent
Вспомогательная утилита. Поддерживает кэш закрытых ключей. Кэширование позволяет избегать частого ввода пароля для расшифровки ключей перед их использованием.
ssh-add
Вспомогательная утилита. Добавляет ключи в кэш ssh-agent.

Безопасные туннели

Перенаправление портов

Большинство программ для установления соединения используют протокол TCP, трафик которого можно передавать через безопасный туннель. Таким образом можно устанавливать множество дополнительных TCP-соединений поверх одного SSH-соединения. Это удобно для сокрытия соединений и шифрования протоколов, которые являются небезопасными, а также для обхода ограничений фаерволлов. UDP-соединения иногда тоже возможно туннелировать при помощи дополнительных программ, таких как netcat. Простыми для туннелирования являются такие протоколы как, например, HTTP, POP3 и VNC.

Перенаправление портов возможно в любую сторону.

Кроме того, некоторое ПО может автоматически использовать OpenSSH для создания туннеля. Например DistCC, CVS, rsync, и fetchmail.

Из протоколов, которые сложнее туннелировать, стоит отметить FTP, который часто можно заменить SFTP, и SMB. В некоторых операционных системах удаленные файловые системы можно монтировать через ssh используя shfs, lufs и другие аналогичные компоненты.

X Window System

OpenSSH позволяет безопасно организовывать подключения к X Window System с учётом «переворота» семантики: хост-клиент SSH для X Window System является сервером, и наоборот. Для этого OpenSSH осуществляет дополнительные операции вроде установки переменной окружения DISPLAY.

SOCKS

OpenSSH возможно использовать как специальный SOCKS прокси сервер поддерживающий более гибкое проксирование, чем просто перенаправление портов.

VPN

Начиная с версии 4.3, OpenSSH может использовать туннельные сетевые интерфейсы 2-го и 3-го уровней модели OSI (tun). Таким образом можно организовать защищённую VPN и обойтись без необходимости переделки приложений для поддержки SOCKS.

Аутентификация

OpenSSH сервер может аутентифицировать пользователей, используя встроенные механизмы аутентификации:

В дополнение OpenSSH Portable обычно может использовать методы аутентификации, доступные в конкретной операционной системе, например, BSD Authentication или PAM.

Примечания

  1. Список реализаций SSH для Unix-систем  (англ.). Архивировано из первоисточника 22 февраля 2012.

Основано на статье:

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "OpenSSH" в других словарях:

  • OpenSSH — Don t tell anyone that I m free Developer(s) The OpenBSD Project Stable release 5.9 / September 6, 2011; 2 months ago …   Wikipedia

  • OpenSSH — xeyes a través de un tunel SSH. Desarrollador Proyecto OpenBSD …   Wikipedia Español

  • OpenSSH — Entwickler Das OpenBSD Projekt Aktuelle Version 5.9 (6. September 2011) Betriebssystem Multiplattform Kategorie Remote Access Lizenz …   Deutsch Wikipedia

  • OpenSSH — Développeur Projet OpenBSD Dernière version …   Wikipédia en Français

  • OpenSSH — (Open Secure Shell) es un conjunto de aplicaciones que permiten realizar comunicaciones encriptadas a través de una red, usando el protocolo SSH. Fue creado como una alternativa libre y abierta al programa Secure Shell, que es software… …   Enciclopedia Universal

  • OpenSSH — freie Secure Shell (SSH) Implementierung mit Verschlüsselung per Blowfish oder 3DES http://www.openssh.org/ …   Acronyms

  • OpenSSH — freie Secure Shell (SSH) Implementierung mit Verschlüsselung per Blowfish oder 3DES (http://www.openssh.org/) …   Acronyms von A bis Z

  • Openssh — …   Википедия

  • Secure Shell — or SSH is a network protocol that allows data to be exchanged using a secure channel between two networked devices. RFC 4252] Used primarily on Linux and Unix based systems to access shell accounts, SSH was designed as a replacement for TELNET… …   Wikipedia

  • Comparison of SSH clients — For more details on this topic, see Secure shell. An SSH client is a software program which uses the secure shell protocol to connect to a remote computer. This article compares a selection of popular clients. Contents 1 General 2 Platform 3… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»