Wiki
Безопасность

SSH-ключ — что это простыми словами

SSH-ключ — пара публичный + приватный. Публичный ставите на VPS, приватный храните у себя. Безопаснее пароля: не подберут даже за миллион лет.

SSH-ключ — пара криптографических ключей: публичный (public key, ~4 КБ, безопасно показывать всему миру) и приватный (private key, ~4 КБ, храните в секрете). Публичный кладёте в ~/.ssh/authorized_keys на сервере, приватный — на своём ноутбуке. При подключении сервер шлёт "челлендж", ваш SSH-клиент подписывает его приватным ключом, сервер проверяет подпись публичным. Пароль не передаётся.

Алгоритмы: RSA 2048/3072/4096 — старый стандарт, всё ещё безопасен для 3072+. Ed25519 — современный, быстрее и короче. ECDSA — тоже эллиптическая, но реже используется. Рекомендация: генерируйте `ssh-keygen -t ed25519` для новых проектов.

Почему безопаснее пароля: (1) 4096-битный ключ невозможно подобрать перебором даже за миллиарды лет, (2) фишинг не работает — приватный ключ у вас, никуда не отправляется, (3) можно легко ротировать (удалить одну строку в authorized_keys), (4) audit-friendly — каждый ключ идентифицирует конкретного пользователя.

На всех наших VPS SSH-парольный вход по умолчанию отключён. При создании указываете public key из панели — только с этим ключом можно войти как root. Дополнительный ключ добавляется через `ssh-copy-id` или ручным редактированием authorized_keys.

Частые вопросы

Как сгенерировать SSH-ключ?
`ssh-keygen -t ed25519 -C "you@laptop"`. Приватный ключ сохраняется в ~/.ssh/id_ed25519, публичный — в ~/.ssh/id_ed25519.pub.
Что делать если приватный ключ утерян?
Считайте его скомпрометированным, сгенерируйте новую пару, замените публичный ключ на всех серверах. Reset пароля root через нашу панель — тоже работает.