SSH-ключи позволяют подключаться к серверу без пароля и повышают безопасность. Ниже описано, как сгенерировать ключ, добавить его на сервер и отключить вход по паролю.
Применимо к:
✔ VPS
✔ Выделенные серверы
✔ Linux, macOS, Windows
ssh-keygen -t ed25519 -C "ваш@email.com"
Или RSA:
ssh-keygen -t rsa -b 4096
По умолчанию ключи сохраняются в ~/.ssh/: приватный (id_ed25519) и публичный (id_ed25519.pub).
ssh-keygen -t ed25519
Ключи сохраняются в C:UsersИМЯ.ssh.
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@IP_СЕРВЕРА
Скопируйте содержимое публичного ключа:
cat ~/.ssh/id_ed25519.pub
На сервере добавьте ключ в файл authorized_keys:
mkdir -p /root/.ssh
echo "СОДЕРЖИМОЕ_ПУБЛИЧНОГО_КЛЮЧА" >> /root/.ssh/authorized_keys
Установите правильные права:
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys
Откройте файл authorized_keys на сервере:
nano /root/.ssh/authorized_keys
Удалите строку с ненужным ключом (каждый ключ занимает одну строку). Сохраните файл.
Перед отключением пароля убедитесь, что вход по ключу работает! Иначе потеряете доступ к серверу.
В файле /etc/ssh/sshd_config измените:
PasswordAuthentication no
PubkeyAuthentication yes
systemctl restart sshd
Если ключ хранится не в стандартном месте:
ssh -i /путь/к/ключу root@IP_СЕРВЕРА
ssh root@IP_СЕРВЕРА
Подключение должно пройти без запроса пароля.
Если после добавления ключа вход по ключу не работает, проверьте права на ~/.ssh (700) и authorized_keys (600). Если доступ утерян, подключитесь через VNC/IPMI-консоль.