- Автор темы
- #1
pisula
Начинающий
- 7
- 0
Если вы всё ещё подключаетесь к своим серверам по SSH с паролем или даже по RSA-ключу — этот материал для вас. Год 2026 на дворе, и пора переходить на современные, взломоустойчивые методы аутентификации.
В этом руководстве я покажу, как полностью отказаться от паролей и даже от файлов с приватными ключами, перейдя на аппаратные ключи FIDO2 (YubiKey, Nitrokey, Google Titan) или Passkeys — тот же стандарт, который вы уже используете для входа в Google или GitHub.
[h3]Зачем это нужно? Или «Что не так с моим RSA-ключом?»[/h3]
[h3]Часть 1. Быстрый старт: Настраиваем SSH с FIDO2 за 5 минут[/h3]
Предпосылки:
Шаг 1: Генерируем пару ключей на токене
Шаг 2: Копируем открытый ключ на сервер
Шаг 3: Подключаемся
Система запросит касание ключа или PIN-код. Готово!
[h3]Часть 2. Продвинутая настройка: Resident Keys (RK) и удобство[/h3]
Resident Key — это специальный режим, при котором открытый ключ хранится прямо на токене.
Генерация Resident Key:
[h3]Часть 3. А если нет аппаратного ключа? Используем Passkeys![/h3]
Passkeys — это реализация FIDO2, где роль «токена» играет ваш компьютер или телефон.
Пример настройки (через программный токен):
[h3]Часть 4. Настройка сервера: ужесточаем политики[/h3]
Добавьте в
Перезагрузите SSH:
[h3]Часть 5. Аварийный доступ (ОБЯЗАТЕЛЬНО!)[/h3]
Прежде чем отключать старые методы, настройте аварийный доступ:
[h3]Заключение и вопросы[/h3]
Переход на FIDO2 для SSH — не «оптимизация», а смена парадигмы безопасности. Это шаг от «удобного, но уязвимого» к «безопасному по умолчанию».
Вопросы для обсуждения:
Жду ваших практических отзывов и кейсов в комментариях!
В этом руководстве я покажу, как полностью отказаться от паролей и даже от файлов с приватными ключами, перейдя на аппаратные ключи FIDO2 (YubiKey, Nitrokey, Google Titan) или Passkeys — тот же стандарт, который вы уже используете для входа в Google или GitHub.
[h3]Зачем это нужно? Или «Что не так с моим RSA-ключом?»[/h3]
- Абсолютная устойчивость к фишингу. Ключ FIDO2 физически привязан к домену (вашему серверу).
- Защита от краж приватных ключей. Ваш приватный ключ никогда не покидает аппаратный токен.
- Требует физического присутствия. Для подключения нужно либо нажать кнопку на ключе, либо ввести PIN-код.
- Это будущее. Крупные облачные провайдеры уже активно продвигают FIDO2.
[h3]Часть 1. Быстрый старт: Настраиваем SSH с FIDO2 за 5 минут[/h3]
Предпосылки:
- Аппаратный ключ FIDO2 (поддерживающий стандарт ed25519-sk).
- Сервер и клиент с OpenSSH 8.2+.
- На клиенте: libfido2 (пакет
libfido2-dev).
Шаг 1: Генерируем пару ключей на токене
Код:
ssh-keygen -t ed25519-sk -f ~/.ssh/id_ed25519_sk -C "yubikey-$(date +%Y-%m)"
Шаг 2: Копируем открытый ключ на сервер
Код:
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub user@your-server.com
Шаг 3: Подключаемся
Код:
ssh -i ~/.ssh/id_ed25519_sk user@your-server.com
[h3]Часть 2. Продвинутая настройка: Resident Keys (RK) и удобство[/h3]
Resident Key — это специальный режим, при котором открытый ключ хранится прямо на токене.
Генерация Resident Key:
Код:
ssh-keygen -t ed25519-sk -f ~/.ssh/id_ed25519_sk_resident -O resident -C "yubikey-resident-$(hostname)"
[h3]Часть 3. А если нет аппаратного ключа? Используем Passkeys![/h3]
Passkeys — это реализация FIDO2, где роль «токена» играет ваш компьютер или телефон.
Пример настройки (через программный токен):
Код:
ssh-keygen -t ed25519-sk -f ~/.ssh/id_passkey -O resident -O verify-required -O application=/tmp/soft-token
[h3]Часть 4. Настройка сервера: ужесточаем политики[/h3]
Добавьте в
/etc/ssh/sshd_config:
Код:
# Отключаем парольную аутентификацию полностью
PasswordAuthentication no
ChallengeResponseAuthentication no
# Разрешаем только современные методы
PubkeyAuthentication yes
AuthenticationMethods publickey
# Только безопасные алгоритмы
HostKeyAlgorithms ssh-ed25519,ssh-ed25519-cert-v01@openssh.com
KexAlgorithms sntrup761x25519-sha512@openssh.com,curve25519-sha256
Перезагрузите SSH:
sudo systemctl reload sshd[h3]Часть 5. Аварийный доступ (ОБЯЗАТЕЛЬНО!)[/h3]
Прежде чем отключать старые методы, настройте аварийный доступ:
- Резервный аппаратный ключ: Настройте второй ключ FIDO2, храните его в сейфе.
- Сессия в консоли облачного провайдера: Убедитесь, что у вас есть доступ через веб-консоль (AWS, Google Cloud).
- Физический доступ: Имейте план, если сервер находится в дата-центре.
[h3]Заключение и вопросы[/h3]
Переход на FIDO2 для SSH — не «оптимизация», а смена парадигмы безопасности. Это шаг от «удобного, но уязвимого» к «безопасному по умолчанию».
Вопросы для обсуждения:
- Пробовали ли вы настраивать FIDO2 для SSH? С какими трудностями столкнулись?
- Что думаете о Passkeys как альтернативе «железным» ключам? Доверяете ли вы программным токенам?
- Как вы организуете аварийный доступ к серверам? Есть ли у вас «золотой ключ»?
- Считаете ли вы, что пароли и файлы ключей должны быть официально объявлены устаревшими?
Жду ваших практических отзывов и кейсов в комментариях!