
Portable OpenSSH
OpenSSH — это полная реализация протокола SSH (версии 2) для безопасного удалённого входа, выполнения команд и передачи файлов. Она включает клиент ssh и сервер sshd, утилиты передачи файлов scp и sftp, а также инструменты для генерации ключей (ssh-keygen), хранения ключей во время выполнения (ssh-agent) и ряд вспомогательных программ.
Это порт OpenSSH из OpenBSD для большинства Unix-подобных операционных систем, включая Linux, OS X и Cygwin. Portable OpenSSH восполняет отсутствующие в других системах API OpenBSD, добавляет песочницу для sshd на большем числе операционных систем и включает поддержку нативной аутентификации и аудита ОС (например, с использованием PAM).
Официальная документация OpenSSH — это man-страницы для каждого инструмента:
Архивы стабильных релизов доступны на ряде зеркал для загрузки. Мы рекомендуем большинству пользователей использовать стабильный релиз. Пожалуйста, прочтите примечания к выпускам для получения подробной информации о последних изменениях и возможных несовместимостях.
Portable OpenSSH собирается с помощью autoconf и make. Для этого требуются работающий C-компилятор, стандартная библиотека и заголовочные файлы.
Также может использоваться libcrypto из LibreSSL, OpenSSL, AWS-LC или BoringSSL. OpenSSH может быть собран без любой из них, но в этом случае результирующие двоичные файлы будут содержать лишь подмножество обычно доступных криптографических алгоритмов.
zlib необязателен; без него сжатие транспорта не поддерживается.
Для поддержки FIDO-токенов безопасности требуется libfido2 и его зависимости; она будет включена автоматически, если они найдены.
Кроме того, для некоторых платформ и параметров сборки могут потребоваться дополнительные зависимости; подробности о вашей платформе см. в README.platform.
Архивы релизов и релизные ветки в git содержат предварительно собранную копию сценария configure и могут быть собраны с помощью:
tar zxvf openssh-X.YpZ.tar.gz
cd openssh
./configure # [options]
make && make tests
Смотрите раздел Параметры сборки ниже, чтобы узнать о параметрах configure. Если вы планируете установить OpenSSH в свою систему, вам, как правило, потребуется указать пути назначения.
При сборке из ветки git master вам потребуется установленный autoconf для создания сценария configure. Следующие команды клонируют и соберут portable 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, но ниже описаны лишь некоторые из наиболее часто используемых. Некоторые из этих флагов требуют установки дополнительных библиотек и/или заголовочных файлов.
Обсуждение разработки Portable OpenSSH ведётся в списке рассылки openssh-unix-dev (зеркало архива). Ошибки и запросы на новые возможности отслеживаются в нашем Bugzilla.
Ошибки, не связанные с безопасностью, могут быть сообщены разработчикам через Bugzilla или через указанный выше список рассылки. Ошибки безопасности следует сообщать на [email protected].
| Флаг | Описание |
|---|
--with-pam | Включить поддержку PAM. Поддерживаются OpenPAM, Linux PAM и Solaris PAM. |
--with-libedit | Включить поддержку libedit для sftp. |
--with-kerberos5 | Включить поддержку Kerberos/GSSAPI. Поддерживаются реализации Kerberos как Heimdal, так и MIT. |
--with-selinux | Включить поддержку SELinux. |