Linux

Вход по SSH-ключу вместо пароля

Создайте ключ в Windows, Mac или Linux, загрузите его на сервер и отключите вход по паролю через SSH, не потеряв доступ.

1 мин чтенияОбновлено 19 октября 2026 г.

С SSH-ключом вы входите без ввода пароля, а если ещё и отключить пароли, ботам, которые перебирают пароли к вашему серверу, будет просто нечего подбирать.

Закрытый ключ остаётся на вашем компьютере, а открытый копируется в файл authorized_keys на VPS
Закрытый ключ никогда не покидает ваш компьютер.

1. Создайте ключ (на своём компьютере)

В Windows 10/11, Mac и Linux SSH уже встроен. Откройте терминал (в Windows — PowerShell) и введите:

ssh-keygen -t ed25519

Нажмите Enter, чтобы сохранить ключ в расположение по умолчанию, и при желании задайте кодовую фразу. В папке .ssh вашего пользователя появятся два файла: id_ed25519 (закрытый ключ: никогда никому его не передавайте) и id_ed25519.pub (открытый).

2. Загрузите ключ на сервер

С Mac или Linux:

ssh-copy-id root@203.0.113.10

С Windows (PowerShell):

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@203.0.113.10 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"

Пароль будет запрошен в последний раз.

3. Проверьте вход

ssh root@203.0.113.10

Если вы вошли и пароль сервера не запрашивался, всё работает. Если не получилось, к шагу 4 не переходите.

4. Отключите вход по паролю через SSH

Не закрывая текущий сеанс (на всякий случай), выполните на сервере:

echo "PasswordAuthentication no" > /etc/ssh/sshd_config.d/00-keys-only.conf
sshd -t && systemctl restart ssh

В Rocky Linux 8 измените строку PasswordAuthentication на no прямо в /etc/ssh/sshd_config; служба там называется sshd: systemctl restart sshd.

Имя файла начинается с 00- не случайно: в SSH действует первое прочитанное значение, а в некоторых образах есть другой файл, который снова включает пароли.

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

Если вы потеряли ключ

Консоль VNC в панели не использует SSH, поэтому там пароль по-прежнему работает. Если вы его не помните, задайте новый через Настройки → Сбросить пароль, войдите через VNC и добавьте новый ключ в /root/.ssh/authorized_keys.

Для передачи файлов (WinSCP, FileZilla) используйте тот же закрытый ключ: как загрузить файлы.

Похожие статьи

Назад в справочный центр

Не нашли, что искали?

Создайте тикет в личном кабинете — мы ответим меньше чем за 5 минут.