Обзор
Пакет OpenSSH сервера предоставляет 'sshd' (SSH Daemon), который принимает и обрабатывает запросы на подключение от SSH-клиентов. Это ключевой компонент для безопасного доступа к удаленным системам, повышающий безопасность за счет шифрования данных и надежных механизмов аутентификации.
Основные функции
- Удаленный вход и доступ к командной строке (SSH)
- Безопасная передача файлов (SCP, SFTP)
- Перенаправление портов и туннелирование
- Поддержка различных методов аутентификации (пароль, открытый ключ, GSSAPI и т. д.)
Установка
OpenSSH сервер часто не входит в стандартную установку большинства дистрибутивов Linux или исключается при минимальной установке. Ниже приведены способы установки OpenSSH сервера в основных дистрибутивах.
Debian/Ubuntu
sudo apt update
sudo apt install openssh-server
Установка с использованием пакетного менеджера APT.
CentOS/RHEL/Fedora
sudo yum install openssh-server
# Или используйте dnf
sudo dnf install openssh-server
Установка с использованием пакетного менеджера YUM или DNF.
Проверка службы после установки
После установки проверьте, запускается ли служба 'sshd' автоматически, и при необходимости включите ее.
Проверка состояния службы и ее активация
sudo systemctl status sshd
sudo systemctl enable sshd --now
Основные параметры
Основные настройки OpenSSH сервера осуществляются через файл '/etc/ssh/sshd_config'. Ниже приведены часто используемые параметры из этого файла конфигурации.
Настройки sshd_config
Сгенерированная команда:
Комбинируйте команды.
Описание:
`openssh-server` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
Типичные примеры использования, связанные с настройкой и управлением OpenSSH сервером.
Запуск/остановка/перезапуск службы sshd
sudo systemctl start sshd
sudo systemctl stop sshd
sudo systemctl restart sshd
Управление службой sshd в системах, использующих systemd.
Проверка состояния службы sshd
sudo systemctl status sshd
Проверка текущего состояния демона sshd.
Изменение порта SSH (редактирование sshd_config)
sudo sed -i 's/^#Port 22/Port 2222/' /etc/ssh/sshd_config
sudo systemctl restart sshd
Пример изменения стандартного порта SSH (22) на 2222. После редактирования файла необходимо перезапустить службу sshd.
Отключение входа для root
sudo sed -i 's/^PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
sudo systemctl restart sshd
Повышение безопасности путем установки значения 'no' для PermitRootLogin в sshd_config.
Разрешить вход только определенным пользователям
echo 'AllowUsers myuser' | sudo tee -a /etc/ssh/sshd_config
sudo systemctl restart sshd
Добавление параметра 'AllowUsers' в sshd_config для разрешения входа по SSH только пользователю 'myuser'.
Советы и меры предосторожности
Советы и меры предосторожности для безопасной и эффективной работы OpenSSH сервера.
Советы по повышению безопасности
- **Изменение стандартного порта (22)**: Позволяет снизить вероятность стать целью атак методом перебора (Brute-force attack).
- **Отключение аутентификации по паролю, использование аутентификации по открытому ключу**: Самый надежный метод аутентификации. Пароли могут быть угаданы или скомпрометированы.
- **Отключение входа для root**: Учетная запись root имеет все права, поэтому безопаснее не разрешать прямой вход, а входить под учетной записью обычного пользователя и использовать `sudo`.
- **Разрешение доступа только определенным пользователям/группам**: Ограничьте доступные учетные записи, используя параметры `AllowUsers` или `AllowGroups`.
- **Настройка брандмауэра**: Настройте брандмауэр (ufw, firewalld и т. д.) так, чтобы разрешать внешний доступ только к порту SSH (по умолчанию 22 или измененному порту).
- **Установка Fail2ban**: Блокирует IP-адреса при многократных неудачных попытках входа, защищая от атак методом перебора.
Меры предосторожности при изменении настроек
После внесения изменений в файл sshd_config обязательно проверьте файл конфигурации на наличие синтаксических ошибок с помощью команды `sudo sshd -t`, а затем перезапустите службу командой `sudo systemctl restart sshd`. Перезапуск службы с некорректными настройками может привести к невозможности подключения по SSH.