OpenSSH
man-руководства
OpenBSD man-страницы, доступные online, для нижеперечисленных команд.
Эти страницы относятся к последней development-версии OpenSSH.
- ssh(1)
— Базовая клиентская программа, похожая на rlogin/rsh
- sshd(8)
— Демон, разрешающий вам войти в систему
- ssh_config(5)
— Файл конфигурации клиента
- sshd_config(5)
— Файл конфигурации демона
- ssh-agent(1)
— Агент аутентификации, который может хранить private ключи
- ssh-add(1)
— Инструмент, который добавляет ключи в указанный выше агент
- sftp(1)
— FTP-подобная программа, работающая по протоколам SSH1 и SSH2
- scp(1)
— Программа копирования файлов, которая работает как rcp
- ssh-keygen(1)
— Инструмент генерации ключей
- sftp-server(8)
— Подсистема сервера SFTP (запускается автоматически при помощи sshd)
- ssh-keyscan(1)
— Утилита для сбора public ключей хоста с нескольких хостов
- ssh-keysign(8)
— Программа-помощник для хост-аутентификации (host-based authentication)
Протокол SSH2, реализованный в OpenSSH, стандартизирован рабочей группой IETF
secsh
и определен в нескольких RFC и drafts.
Общая структура SSH2 описана в RFC
architecture.
Он состоит из компонентов трех уровней:
-
Транспортный уровень (transport layer)
обеспечивает согласование алгоритмов и обмен ключами.
Обмен ключами включает аутентификацию сервера и устанавливает
криптографически защищенноe соединение: обеспечивается целостность,
конфиденциальность и дополнительное сжатие.
-
Уровень аутентификации (user authentication layer)
использует установленное соединение и полагается на услуги,
предоставляемые транспортным уровнем.
Он предоставляет несколько механизмов для аутентификации
пользователей. К ним относятся традиционная аутентификация по
паролю, а также механизмы аутентификации при помощи открытого
ключа или на основе хоста (host-based authentication mechanisms).
-
Уровень соединения (connection layer)
создает (мультиплексирует) множество различных параллельных
каналов через аутентифицированное соединение и позволяет
туннелировать сеансы входа в систему и TCP-forwarding.
Он предоставляет услугу управления соединения (flow control
service) для этих каналов. Кроме того, на этом уровне можно
согласовать различные параметры, зависящие от канала.
Дополнительные документы спецификаций:
- RFC4256, посвященный
интерактивной аутентификации, описывает поддержку новых
схем аутентификации, таких как S/Key или TIS.
- Протокол передачи файлов SFTP описан в черновике
filexfer.
В OpenSSH реализован
клиент и
сервер SFTP.
- Формат файла для public ключей указан в draft
publickeyfile.
Команда
ssh-keygen(1)
может использоваться для преобразования public ключа
OpenSSH в этот формат файла.
-
Diffie-Hellman Group Exchange
позволяет клиентам запрашивать более безопасные группы
для обмена ключами Диффи-Хеллмана.
- В OpenSSH реализован метод сжатия «zlib@openssh.com»,
который откладывает запуск сжатия до завершения аутентификации
пользователя, чтобы исключить риск атак предварительной
аутентификации на код сжатия.
Это описано в
draft-miller-secsh-compression-delayed-00.txt.
- OpenSSH реализует дополнительный MAC
(Message Authentication Code, код аутентификации сообщения)
«umac-64@openssh.com», который имеет более высокую
производительность, чем те, которые указаны в RFC4253.
Он описан в
draft-miller-secsh-umac-01.txt.
- Протокол агента аутентификации, используемый
ssh-agent,
задокументирован в файле
PROTOCOL.agent.
- OpenSSH имеет другие незначительные расширения и отклонения
от стандартных протоколов SSH. Они задокументированы в файле
PROTOCOL.