SSH: ключи и безопасная настройка
Создайте пару ключей ed25519, разрешите вход по своему ключу с правильными правами и закройте опасные настройки SSH-сервера.
- linux.system
Задания
1. Пара ключей15 очк.
Создайте пару ключей типа ed25519 в стандартном месте
~/.ssh/id_ed25519.2. Отпечаток ключа5 очк.
Посмотрите отпечаток своего открытого ключа. Каким алгоритмом хэширования он посчитан? (Название стоит перед двоеточием.)
3. Вход по ключу20 очк.
Разрешите вход по вашему ключу: добавьте открытый ключ в
~/.ssh/authorized_keys. SSH-сервер примет ключ, только если у~/.sshправа700, а уauthorized_keys—600.4. Закройте опасные настройки20 очк.
В
~/server/sshd_configзапретите прямой вход root (PermitRootLogin no) и вход по паролю (PasswordAuthentication no). Остальные строки оставьте как есть.
Вводные и справка по командам
Готовим сервер к работе через интернет: вход только по ключам, без root. Второго сервера в учебной
среде нет, поэтому «сервером» будет ваш же домашний каталог, а конфигурацию SSH-сервера вы
исправите в копии ~/server/sshd_config.
Справка по командам
| Команда | Что делает |
|---|---|
ssh-keygen -t ed25519 | создать пару ключей (на вопросы можно отвечать Enter) |
ssh-keygen -l -f ~/.ssh/id_ed25519.pub | отпечаток (fingerprint) ключа |
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys | разрешить вход по этому ключу |
chmod 700 ~/.ssh | каталог ключей — только владельцу |
chmod 600 ~/.ssh/authorized_keys | список ключей — только владельцу |
grep -n Password ~/server/sshd_config | найти нужную настройку |
nano ~/server/sshd_config | отредактировать (Ctrl+O, Enter — сохранить; Ctrl+X — выйти) |
sed -i 's/^Опция yes/Опция no/' файл | заменить значение без редактора |