Настройка сервера OpenSSH
Эта тема охватывает установку, запуск и настройку сервера 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.
| Файл | Описание |
|---|---|
|
Содержит группы Диффи-Хеллмана, используемые для метода обмена ключами « |
|
Файл конфигурации SSH-клиента по умолчанию. Обратите внимание, что он переопределяется файлом |
|
Файл конфигурации для демона sshd. |
|
Закрытый ключ ECDSA, используемый демоном sshd. |
|
Открытый ключ ECDSA, используемый демоном sshd. |
|
Закрытый ключ RSA, используемый демоном sshd. |
|
Открытый ключ RSA, используемый демоном sshd. |
|
Закрытый ключ EdDSA, используемый демоном sshd. |
|
Открытый ключ EdDSA, используемый демоном sshd. |
|
Файл конфигурации PAM для демона sshd. |
|
Файл конфигурации для службы |
Информацию о различных директивах, которые можно использовать в файлах конфигурации SSH, см. на страницах руководства ssh_config(5) и sshd_config(5).
Запуск сервера OpenSSH
|
Убедитесь, что у вас установлены соответствующие пакеты
Чтобы запустить сервер OpenSSH, у вас должен быть установлен пакет 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.
Want to help? Learn how to contribute to Fedora Docs ›