Как устроен доступ по SSH-ключам и зачем нужен bastion-хост?
- Почему вход по паролю по SSH стоит отключить?
Пара ключей: закрытый хранится у пользователя, открытый кладут на сервер в ~/.ssh/authorized_keys. При входе сервер проверяет, что клиент владеет закрытым ключом, — сам ключ по сети не передаётся. Bastion (jump host) — единственная точка входа во внутреннюю сеть: серверы не открыты в интернет, доступ проходит через один контролируемый и журналируемый хост.
- Отключить вход по паролю и вход root: PasswordAuthentication no, PermitRootLogin no
- Закрытый ключ — с паролем, права 600; агент ssh-agent
- ssh -J bastion internal-host — прыжок через bastion
А ещё Современная альтернатива — короткоживущие SSH-сертификаты или доступ через SSO
Подробно
Почему ключи лучше паролей: пароли подбирают ботами круглосуточно, ключи — нет; ключ можно отозвать у конкретного человека, не меняя общий пароль.
Настройка:
ssh-keygen -t ed25519 -C "ivan@laptop"
ssh-copy-id user@server
ssh -J user@bastion user@10.0.1.15
~/.ssh/config хранит алиасы, пользователя, ключ и ProxyJump.
Bastion: минимальный набор ПО, обновления, журналирование сессий, доступ только с известных адресов или через VPN, двухфакторная аутентификация. Внутренние серверы принимают SSH только от bastion.
Ротация доступа: при увольнении удалить ключ со всех серверов — поэтому ключи раскладывают автоматизацией (Ansible) или используют центральную выдачу сертификатов.
Что хотят услышать
- Принцип работы ключей.
- Укрепление sshd.
- Роль bastion и управление доступом.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Bastion нужен, чтобы все серверы были доступны из интернета
- ✗Закрытый ключ кладут в authorized_keys на сервере
- ✓Открытый ключ на сервере, закрытый у пользователя; bastion — точка входа в сеть
- ✗При входе закрытый ключ передаётся серверу, и тот сверяет его с открытым ключом в authorized_keys
Разбор темы
- Командная строка — файлы, поиск, окружение и SSH
Навигация и работа с файлами, grep и пайпы, права доступа, переменные окружения и PATH, вход по SSH-ключам.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.