> ## Documentation Index
> Fetch the complete documentation index at: https://docs.edisglobal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Усиление безопасности SSH

> Усильте защиту SSH в Debian и Ubuntu, сохранив доступ: проверьте аккаунт sudo и ключи, конфигурацию, ограничьте способы входа и проверьте повторное подключение.

Усиливайте защиту SSH поэтапно: сначала настройте рабочий аккаунт администратора и SSH-ключ, затем ограничьте способы входа. Команды ниже предназначены для **Debian и Ubuntu**.

> [!WARNING]
>
> Оставьте текущий SSH-сеанс открытым и обеспечьте доступ к [консоли VNC](https://docs.edisglobal.com/ru/vps-management/enable-vnc-server.md). После каждого изменения проверяйте второй независимый вход. Не отключайте единственный работающий способ доступа.

## Обновите OpenSSH

Используйте пакеты своего дистрибутива: исправления безопасности могут переноситься в них без изменения номера основной версии. Следуйте руководству [Обновление SSHD](https://docs.edisglobal.com/ru/advanced-setup-guides/security-advisories/update-sshd-debian-ubuntu-redhat.md).

## Создайте и проверьте аккаунт администратора

На VPS создайте аккаунт, если его ещё нет. Во всём руководстве заменяйте `adminuser` на выбранное имя пользователя:

```bash theme={"system"}
sudo adduser adminuser
sudo usermod -aG sudo adminuser
```

В **новом терминале на своём компьютере** подключитесь как этот пользователь и проверьте административный доступ:

```bash theme={"system"}
ssh adminuser@YOUR_VPS_IP
sudo -v
```

Оставьте исходный сеанс открытым, пока обе команды не выполнятся успешно.

## Настройте аутентификацию по SSH-ключу

На **своём компьютере** создайте ключ, если его ещё нет. Защитите его парольной фразой и не перезаписывайте существующий ключ, которым ещё пользуетесь:

```bash theme={"system"}
ssh-keygen -t ed25519
ssh-copy-id adminuser@YOUR_VPS_IP
```

`ssh-copy-id` копирует публичный ключ; приватный ключ должен оставаться на вашем компьютере. Если клиент не содержит этого инструмента, следуйте его инструкциям по установке публичного ключа. См. [руководство OpenSSH по созданию ключей](https://man.openbsd.org/ssh-keygen).

Проверьте новое подключение, разрешающее **только аутентификацию по публичному ключу**:

```bash theme={"system"}
ssh -o PreferredAuthentications=publickey -o PasswordAuthentication=no adminuser@YOUR_VPS_IP
```

Запрос парольной фразы приватного ключа — нормальное поведение. Убедитесь, что `sudo -v` также работает в новом сеансе.

## Ограничьте способы входа

Сделайте резервную копию `/etc/ssh/sshd_config` и файлов в `/etc/ssh/sshd_config.d/`, которые будете редактировать. Прежде чем добавлять настройки, изучите существующую конфигурацию: подключаемые фрагменты могут иметь приоритет над основным файлом.

Для **входа только по ключу без MFA на основе PAM** задайте:

```text theme={"system"}
PubkeyAuthentication yes
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin no
```

Делайте это только после проверки входа по ключу под администратором, отличным от root. Эти настройки не отключают пароль аккаунта для входа через консоль или использования `sudo`.

Проверьте синтаксис и фактически применяемую конфигурацию:

```bash theme={"system"}
sudo /usr/sbin/sshd -t
sudo /usr/sbin/sshd -T | grep -E '^(pubkeyauthentication|passwordauthentication|kbdinteractiveauthentication|permitrootlogin) '
```

Если используются блоки `Match`, настройки могут различаться в зависимости от пользователя и подключения. Прежде чем продолжить, устраните неожиданные значения. OpenSSH обычно использует первое найденное значение каждого параметра; см. [руководство Ubuntu по настройке OpenSSH](https://ubuntu.com/server/docs/how-to/security/openssh-server/) и [справочник конфигурации OpenSSH](https://man.openbsd.org/sshd_config).

Если проверка прошла успешно, перечитайте конфигурацию SSH в Debian/Ubuntu:

```bash theme={"system"}
sudo systemctl reload ssh
```

Откройте ещё одно новое подключение и проверьте вход по ключу и `sudo`, прежде чем закрывать исходный сеанс.

## Добавьте правила до включения межсетевого экрана

Разрешите **фактический TCP-порт SSH** до включения UFW. По умолчанию это порт 22; замените его, если меняли. Следуйте [руководству по UFW](https://docs.edisglobal.com/ru/advanced-setup-guides/ufw-uncomplicated-firewall-howto.md), включая проверку повторного подключения.

Нестандартный порт может уменьшить количество автоматических попыток входа, но не заменяет аутентификацию или контроль доступа. Смена порта также требует согласованных настроек межсетевого экрана, клиента и иногда `ssh.socket`. Она необязательна и не входит в описанную выше процедуру настройки входа только по ключу.

## Контролируйте доступ и рассмотрите дополнительные меры

Просмотрите недавние события SSH в Debian/Ubuntu:

```bash theme={"system"}
sudo journalctl -u ssh --since '1 hour ago'
```

Fail2Ban может временно блокировать повторные неудачные попытки входа. Настройте порт SSH и источник журналов в соответствии с сервером; не считайте, что `/var/log/auth.log` обязательно существует в системе, использующей только journal.

Для MFA следуйте полной процедуре своего дистрибутива и провайдера аутентификации. Одно лишь включение keyboard-interactive **не** делает второй фактор обязательным. Настройка MFA должна объединять нужные методы и охватывать всех затронутых пользователей; она также отличается от приведённой выше схемы входа только по ключу. См. [OpenSSH AuthenticationMethods](https://man.openbsd.org/sshd_config#AuthenticationMethods).

## Если новый вход не работает

Оставьте существующий сеанс открытым, проверьте журнал SSH и восстановите изменённые файлы конфигурации. Перед перечитыванием настроек выполните проверку `sshd -t`. Если весь доступ по SSH потерян, исправьте конфигурацию через [консоль VNC](https://docs.edisglobal.com/ru/vps-management/enable-vnc-server.md).


## Related topics

- [Как обновить SSHD в Debian, Ubuntu и Red Hat Linux](https://docs.edisglobal.com/ru/advanced-setup-guides/security-advisories/update-sshd-debian-ubuntu-redhat.md)
- [Уязвимость RegreSSHion в OpenSSH](https://docs.edisglobal.com/ru/advanced-setup-guides/security-advisories/regresshion-openssh-vulnerability.md)
- [Установка OpenClaw на VPS EDIS Global](https://docs.edisglobal.com/ru/advanced-setup-guides/install-openclaw-edislobal-vps.md)
- [Проверьте входящие письма](https://docs.edisglobal.com/ru/getting-started/check-your-inbox.md)
- [Как настроить WireGuard VPN](https://docs.edisglobal.com/ru/advanced-setup-guides/how-to-setup-wireguard-vpn.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.