OpenSSH — это полная реализация протокола SSH (версия 2) для безопасного удаленного входа в систему, выполнения команд и передачи файлов. Он включает в себя клиентский ssh
и серверный sshd
, утилиты передачи файлов scp
и sftp
, а также инструменты для генерации ключей ( ssh-keygen
), хранилища ключей во время выполнения ( ssh-agent
) и ряд вспомогательных программ.
Это порт OpenSSH OpenBSD для большинства Unix-подобных операционных систем, включая Linux, OS X и Cygwin. Портативный OpenSSH дополняет API-интерфейсы OpenBSD, недоступные где-либо еще, добавляет песочницу sshd для большего количества операционных систем и включает поддержку встроенной в ОС аутентификации и аудита (например, с использованием PAM).
Официальная документация OpenSSH — это справочные страницы для каждого инструмента:
сш(1)
сшд(8)
ssh-keygen(1)
ssh-агент(1)
объект(1)
SFTP(1)
ssh-keyscan(8)
sftp-сервер(8)
Архив-архивы стабильной версии доступны на нескольких зеркалах загрузки. Большинству пользователей мы рекомендуем использовать стабильную версию. Пожалуйста, прочтите примечания к выпуску для получения подробной информации о недавних изменениях и потенциальных несовместимостях.
Портативный OpenSSH собран с использованием autoconf и make. Для этого требуется работающий компилятор C, стандартная библиотека и заголовки.
Также можно использовать libcrypto
из LibreSSL или OpenSSL. OpenSSH может быть собран без любого из них, но полученные двоичные файлы будут иметь только подмножество обычно доступных криптографических алгоритмов.
zlib не является обязательным; без него транспортное сжатие не поддерживается.
Для поддержки токенов безопасности FIDO требуется libfido2 и ее зависимости, и она будет включена автоматически, если они будут найдены.
Кроме того, для некоторых платформ и параметров сборки могут потребоваться дополнительные зависимости; подробную информацию о вашей платформе см. в README.platform.
Архив-архивы релизов и ветки релизов в git включают предварительно созданную копию скрипта configure
и могут быть собраны с помощью:
tar zxvf openssh-X.YpZ.tar.gz cd openssh ./configure # [options] make && make tests
Параметры настройки см. в разделе «Настройка во время сборки» ниже. Если вы планируете установить OpenSSH в свою систему, вам обычно потребуется указать пути назначения.
При сборке из ветки git master вам потребуется установить autoconf для сборки скрипта configure
. Следующие команды проверят и соберут переносимый OpenSSH из git:
git clone https://github.com/openssh/openssh-portable # or https://anongit.mindrot.org/openssh.git cd openssh-portable autoreconf ./configure make && make tests
Доступно множество вариантов настройки во время сборки. Поддерживаются все флаги пути назначения Autoconf (например, --prefix
) (и обычно они требуются, если вы хотите установить OpenSSH).
Чтобы просмотреть полный список доступных флагов, запустите ./configure --help
, но некоторые из наиболее часто используемых флагов описаны ниже. Некоторые из этих флагов потребуют установки дополнительных библиотек и/или заголовков.
Флаг | Значение |
---|---|
--with-pam | Включите поддержку PAM. Поддерживаются OpenPAM, Linux PAM и Solaris PAM. |
--with-libedit | Включите поддержку libedit для sftp. |
--with-kerberos5 | Включите поддержку Kerberos/GSSAPI. Поддерживаются реализации Kerberos как Heimdal, так и MIT. |
--with-selinux | Включите поддержку SELinux. |
Разработка портативного OpenSSH обсуждается в списке рассылки openssh-unix-dev (зеркало архива). Ошибки и пожелания по функциям отслеживаются в нашей Bugzilla.
Об ошибках, не связанных с безопасностью, можно сообщать разработчикам через Bugzilla или через список рассылки, указанный выше. Об ошибках безопасности следует сообщать по адресу [email protected].