Кратко: SSH-ключ позволяет входить на сервер без пароля и безопаснее обычного пароля. Ключ создаётся на вашем компьютере или в Termius, публичная часть копируется на VPS.
1. Создайте ключ на компьютере
Windows (PowerShell), macOS, Linux
ssh-keygen -t ed25519 -C "veltronhost"
Нажмите Enter для пути по умолчанию. Задайте passphrase (рекомендуется).
Файлы:
- приватный:
~/.ssh/id_ed25519(никому не передавать) - публичный:
~/.ssh/id_ed25519.pub
Показать публичный ключ:
cat ~/.ssh/id_ed25519.pub
Termius (Windows / macOS / Android / iPhone)
- Keychain → Generate Key (Ed25519).
- Экспортируйте/скопируйте public key.
- Привяжите ключ к хосту с IP вашего VPS.
2. Добавьте ключ на сервер
Подключитесь по паролю (как в статье про SSH) и выполните:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo 'ВАШ_ПУБЛИЧНЫЙ_КЛЮЧ' >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
Либо с вашего компьютера (если есть ssh-copy-id):
ssh-copy-id root@ВАШ_IP
3. Проверьте вход по ключу
Не закрывая текущую сессию, откройте новое окно:
ssh root@ВАШ_IP
Если вошли без пароля (или только с passphrase ключа) — всё настроено.
4. Отключите вход по паролю (рекомендуется)
Только после успешной проверки ключа. См. раздел в статье Как защитить VPS.
Держите под рукой доступ в VMmanager (Войти в панель управления), чтобы не потерять сервер при ошибке в sshd_config.
Полезные советы
- Для каждого рабочего места — свой ключ; так проще отзывать доступ.
- Делайте резервную копию приватного ключа в менеджере паролей / шифрованном хранилище.
- Не публикуйте
id_ed25519(приватный файл) в тикетах и облачных «заметках» без шифрования.
Частые вопросы
Можно ли добавить несколько ключей?
Да. Каждый публичный ключ — отдельная строка в ~/.ssh/authorized_keys.
Потерял приватный ключ и пароль отключён.
Войдите через консоль VMmanager, временно включите PasswordAuthentication yes, смените пароль в кабинете и восстановите доступ.