Настройка сервера OpenSSH

Rowan Puttergill Last review: 2026-06-12
Эта тема охватывает установку, запуск и настройку сервера OpenSSH (sshd) в Fedora, включая общесистемные файлы конфигурации, принудительную аутентификацию на основе ключей и другие параметры безопасности на стороне сервера. Информацию о настройке клиента и управлении ключами см. в OpenSSH Client Configuration. Справочную информацию о протоколе SSH см. в About SSH and OpenSSH.

Статус: работа в процессе. Содержимое этого раздела находится на рассмотрении и обновляется. Отзывы приветствуются!

Файлы конфигурации

Существует два различных набора файлов конфигурации: для клиентских программ (то есть ssh, scp и sftp) и для сервера (демона sshd). Общесистемная информация о конфигурации SSH хранится в каталоге /etc/ssh/, как описано в System-wide configuration files ниже. О пользовательских файлах конфигурации, хранящихся в ~/.ssh/, см. User-specific configuration files в OpenSSH Client Configuration.

Table 1. Общесистемные файлы конфигурации
Файл Описание

/etc/ssh/moduli

Содержит группы Диффи-Хеллмана, используемые для метода обмена ключами «Diffie-Hellman group exchange», который критически важен для построения безопасного транспортного уровня. Когда ключи обмениваются в начале сеанса SSH, создаётся общее секретное значение, которое не может быть определено ни одной из сторон в одиночку. Если файл недоступен, будут использоваться фиксированные группы. Другим методам обмена ключами этот файл не нужен.

/etc/ssh/ssh_config

Файл конфигурации SSH-клиента по умолчанию. Обратите внимание, что он переопределяется файлом ~/.ssh/config, если тот существует.

/etc/ssh/sshd_config

Файл конфигурации для демона sshd.

/etc/ssh/ssh_host_ecdsa_key

Закрытый ключ ECDSA, используемый демоном sshd.

/etc/ssh/ssh_host_ecdsa_key.pub

Открытый ключ ECDSA, используемый демоном sshd.

/etc/ssh/ssh_host_rsa_key

Закрытый ключ RSA, используемый демоном sshd.

/etc/ssh/ssh_host_rsa_key.pub

Открытый ключ RSA, используемый демоном sshd.

/etc/ssh/ssh_host_ed25519_key

Закрытый ключ EdDSA, используемый демоном sshd.

/etc/ssh/ssh_host_ed25519_key.pub

Открытый ключ EdDSA, используемый демоном sshd.

/etc/pam.d/sshd

Файл конфигурации PAM для демона sshd.

/etc/sysconfig/sshd

Файл конфигурации для службы sshd.

Информацию о различных директивах, которые можно использовать в файлах конфигурации SSH, см. на страницах руководства ssh_config(5) и sshd_config(5).

Запуск сервера OpenSSH

Убедитесь, что у вас установлены соответствующие пакеты

Чтобы запустить сервер OpenSSH, у вас должен быть установлен пакет openssh-server. Если он ещё не установлен, выполните:

$ sudo dnf install openssh-server

Чтобы запустить демон sshd в текущем сеансе, введите следующее в приглашении оболочки:

$ sudo systemctl start sshd.service

Чтобы остановить работающий демон sshd в текущем сеансе, используйте следующую команду:

$ sudo systemctl stop sshd.service

Если вы хотите, чтобы демон запускался автоматически во время загрузки, используйте следующую команду:

$ sudo systemctl enable sshd.service
Created symlink '/etc/systemd/system/multi-user.target.wants/sshd.service' → '/usr/lib/systemd/system/sshd.service'.

См. Services and Daemons для получения дополнительной информации о том, как настраивать службы в Fedora.

Обратите внимание, что при переустановке системы будет создан новый набор идентификационных ключей. В результате клиенты, которые подключались к системе с помощью любых инструментов OpenSSH до переустановки, увидят следующее сообщение:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.

Чтобы предотвратить это, вы можете создать резервную копию соответствующих файлов из каталога /etc/ssh/ (полный список см. в System-wide configuration files) и восстанавливать их всякий раз, когда переустанавливаете систему.

Требование SSH для удалённых подключений

Чтобы SSH был действительно эффективным, использование небезопасных протоколов подключения должно быть запрещено. В противном случае пароль пользователя может быть защищён с помощью SSH в одном сеансе, чтобы позже быть перехваченным при входе через Telnet. К службам, которые следует отключить, относятся telnet, rsh, rlogin и vsftpd.

Эти службы не устанавливаются по умолчанию в Fedora. При необходимости, чтобы убедиться, что эти службы не запущены, введите следующие команды в приглашении оболочки:

$ sudo systemctl stop telnet.service
$ sudo systemctl stop rsh.service
$ sudo systemctl stop rlogin.service
$ sudo systemctl stop vsftpd.service

Чтобы отключить запуск этих служб при загрузке, введите:

$ sudo systemctl disable telnet.service
$ sudo systemctl disable rsh.service
$ sudo systemctl disable rlogin.service
$ sudo systemctl disable vsftpd.service

См. Services and Daemons для получения дополнительной информации о том, как настраивать службы в Fedora.

Принудительная аутентификация на основе ключей

Чтобы ещё больше повысить безопасность системы, сгенерируйте пары ключей SSH и затем включите принудительную аутентификацию на основе ключей, отключив аутентификацию по паролю. Для этого создайте дополнительный файл конфигурации, например /etc/ssh/sshd_config.d/01-local.conf. Убедитесь, что он лексикографически идёт перед файлом 50-redhat.conf, предоставляющим значения по умолчанию Fedora. В текстовом редакторе, таком как vi или nano, вставьте параметр PasswordAuthentication следующим образом:

PasswordAuthentication no

Если вы работаете в системе, отличной от новой установки по умолчанию, проверьте, что PubkeyAuthentication no не задан ни в /etc/ssh/sshd_config, ни в каком-либо включённом файле из каталога drop-in. Если вы подключены удалённо, не используя консоль или внеполосный доступ, рекомендуется проверить процесс входа на основе ключей перед отключением аутентификации по паролю.

Чтобы сгенерировать пары ключей SSH и скопировать их на этот сервер, чтобы аутентификация на основе ключей работала после отключения аутентификации по паролю, см. Generating Key Pairs в OpenSSH Client Configuration.

Сертификаты SSH

Настройка HostCertificate, TrustedUserCAKeys, RevokedKeys и AuthorizedPrincipalsFile для аутентификации на основе сертификатов рассматривается в рамках варианта использования SSH Certificate Authentication в Advanced SSH Usage.

Дополнительные ресурсы

Для получения дополнительной информации о том, как настроить сервер OpenSSH в Fedora, см. ресурсы, перечисленные ниже.

  • sshd(8) — Страница руководства для демона sshd документирует доступные параметры командной строки и предоставляет полный список поддерживаемых файлов и каталогов конфигурации.

  • sshd_config(5) — Страница руководства с именем sshd_config предоставляет полное описание доступных параметров конфигурации демона SSH.

О ресурсах на стороне клиента и информации о протоколе SSH см. OpenSSH Client Configuration и About SSH and OpenSSH.