Настройка аутентификации по SSH-ключу на сервере
Руководство по созданию и управлению SSH-ключами для безопасного входа на сервер.
Настройка аутентификации по SSH-ключам — самый надёжный способ подключения к VPS или выделенному серверу. Публичный ключ размещается на сервере, приватный остаётся только у вас на компьютере — это полностью исключает перехват пароля и повышает безопасность.
- Отдельная инструкция по подключению на macOS/Linux: Подключение к VPS или выделенному серверу по SSH на macOS
- Отдельная инструкция по подключению на Windows OC: Подключение к VPS или выделенному серверу по SSH на Windows
Генерация пары ключей
- Откройте терминал на вашем компьютере (macOS/Linux — Терминал, Windows — PowerShell или Git Bash).
- Выполните команду для создания ключей (рекомендуется современный алгоритм Ed25519):
ssh-keygen -t ed25519 -C "your_email@example.com"
Примечание
Если ваша система не поддерживает Ed25519 (очень старые ОС), используйте RSA: ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
- Программа предложит указать путь сохранения (по умолчанию ~/.ssh/id_ed25519 — нажмите Enter).
- Введите passphrase (секретную фразу) или оставьте пустой (Enter два раза).
- Ключи будут созданы в папке
~/.ssh:id_ed25519— приватный ключ (никому не передавайте!).id_ed25519.pub— публичный ключ (его копируем на сервер).
Копирование публичного ключа на сервер
- Подключитесь к серверу по SSH (пока с паролем):
ssh root@ваш_IP
- Создайте папку
.ssh(если её нет):
mkdir -p ~/.ssh
chmod 700 ~/.ssh
- Добавьте публичный ключ в файл
authorized_keys:
echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... your_email@example.com" >> ~/.ssh/authorized_keys
Или скопируйте ключ одной командой с вашего компьютера (рекомендуется):
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@ваш_IP
Настройка сервера OpenSSH
- Откройте конфигурационный файл:
nano /etc/ssh/sshd_config
- Убедитесь, что включена авторизация по ключам и отключена по паролю (рекомендуется):
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
PasswordAuthentication no
- Сохраните изменения (Ctrl+O → Enter → Ctrl+X).
- Установите правильные права на файлы:
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chown root:root ~/.ssh/authorized_keys
- Перезапустите SSH-сервер:
systemctl restart sshd
Настройка SSH-клиента (для удобства)
- Создайте или отредактируйте файл ~/.ssh/config на вашем компьютере:
Host my-server
HostName ваш_IP
User root
IdentityFile ~/.ssh/id_ed25519
Port 22
- Установите права:
chmod 600 ~/.ssh/config
Теперь подключение упрощается до:
ssh my-server
Проверка
Попробуйте подключиться без пароля:
ssh root@ваш_IP
Если вход произошёл без запроса пароля — авторизация по ключу настроена успешно.
Помощь
Если у вас возникли вопросы или требуется помощь, пожалуйста, свяжитесь с нами через систему тикетов — мы обязательно вам поможем!