раздел 03

SSH-ключи

Что это

Вход на Droplet делают по паре SSH-ключей - двум файлам, которые работают только вместе:

  • Приватный ключ - остаётся на вашем компьютере, никому не показывается.
  • Публичный ключ - кладётся на сервер (в DigitalOcean - при создании Droplet).

Подробный разбор «почему ключи безопаснее пароля» и генерации на macOS/Windows есть в гайде Selectel: Генерация ключей. Команда и логика одинаковые для любого провайдера. Здесь - коротко.

Зачем

Ключ безопаснее пароля (его не подберут перебором) и удобнее (входите без ввода пароля). На сервер уходит только публичная половина.

Как: сгенерировать пару (кратко)

В терминале (macOS/Linux) или PowerShell (Windows):

ssh-keygen -t ed25519 -C "ваша-почта@example.com"

На вопросы нажмите Enter. Получите два файла:

~/.ssh/id_ed25519        <- приватный (НИКОМУ)
~/.ssh/id_ed25519.pub    <- публичный (на сервер)

Показать публичный ключ, чтобы скопировать:

cat ~/.ssh/id_ed25519.pub

(На Windows путь C:\Users\Имя\.ssh\..., посмотреть - type.)

Как: добавить ключ в DigitalOcean

  1. При создании Droplet в разделе Authentication выберите SSH Key.
  2. Нажмите New SSH Key и вставьте содержимое id_ed25519.pub (строка, начинающаяся с ssh-ed25519).
  3. Дайте ключу имя и сохраните. Теперь он доступен для всех новых Droplet.

Первый вход

Когда Droplet создан и вы знаете его IP:

ssh root@IP

Если ключ добавлен верно, попадёте на сервер без пароля. При первом входе подтвердите доверие к серверу (yes).

Пример

Сгенерировали ключ, вставили публичную часть в New SSH Key при создании Droplet с IP 203.0.113.10, затем ssh root@203.0.113.10 - и вы внутри.

Антипаттерны

  • Вставить приватный ключ вместо публичного. На сервер - только .pub.
  • Создавать Droplet с входом по паролю. Боты брутфорсят пароли круглосуточно.
  • Потерять приватный ключ. Без него вход невозможен. Храните и бэкапьте.

Что дальше

Базовая настройка Droplet: обновления, firewall, домен и SSL.