Перейти к основному содержанию
Ключ – пара файлов: закрытый хранится у тебя, открытый лежит на сервере. В отличие от пароля, ключ практически невозможно подобрать перебором, а при входе ничего вводить не нужно.

Создание ключа

  1. Ключ – в терминале на своём компьютере:
    На вопросы команды:
    • Путь – нажми Enter. Закрытый ключ ~/.ssh/id_ed25519 никому не давай, открытый ~/.ssh/id_ed25519.pub пойдёт на сервер.
    • Passphrase – пароль на сам ключ, задай его: украденный файл без него бесполезен. Чтобы не вводить его каждый раз: ssh-add ~/.ssh/id_ed25519.
  2. Ключ на сервер – вместо IP подставь IP сервера из карточки (Мои серверы → сервер). Команда один раз спросит пароль root:
    Нет ssh-copy-id – выведи ключ командой cat ~/.ssh/id_ed25519.pub и добавь его вручную, как в разделе ниже.

Добавление вручную

Зайди на сервер по паролю: ssh root@IP. Затем:
СЮДА_СТРОКУ_КЛЮЧА – строка открытого ключа целиком.

Проверка

Подключись заново:
Вошёл без пароля сервера – ключ работает. Если задал passphrase, спросят её: это пароль от ключа на твоём компьютере, а не от сервера.

Отключение пароля

Когда вход по ключу работает, пароль можно выключить: перебирать станет нечего.
Сначала проверь вход по ключу. Выключишь пароль раньше – потеряешь доступ к серверу. Если так вышло, зайди через Консоль в карточке сервера, она есть не у всех серверов.
  1. Настройки SSH – открой на сервере:
  2. Запрет пароля – найди строку PasswordAuthentication, убери # в начале, если он есть, и приведи к виду:
    Сохрани: Ctrl+O, Enter, Ctrl+X. Загляни и в /etc/ssh/sshd_config.d/: строка PasswordAuthentication yes в файлах оттуда перебивает основной файл, поменяй её на no.
  3. Перезапуск SSH – текущее соединение не оборвётся:
    На AlmaLinux, Rocky и CentOS служба называется sshd. Итог проверь командой sshd -T | grep -i passwordauthentication: должно быть passwordauthentication no. Прежде чем закрыть соединение, проверь вход по ключу во втором окне.
Дальше: Защита сервера, Файрвол.