Васильев Андрей Михайлович, 2025
Версии презентации
OpenSSH-сервер поддерживает множество вариантов по выполнению аутентификации:
Рассмотрим наиболее часто применяемые: по паролю и по ключу пользователя
~/.sshВ протоколе SSH используется асимметричное шифрование, для которого применяется пара из:
Для создания ключей используется приложение ssh-keygen:
ssh-keygen -t ed25519Далее будут заданы вопросы о местоположении и пароля
~/.sshВ результате работы команды будут созданы файлы:
~/.ssh/id_ed25519 — секретный ключ, который нельзя никому передавать~/.ssh/id_ed25519.pub — публичный ключ, который передаётся на серверНа сервере необходимо установить публичную часть ключа, чтобы выполнить аутентификацию пользователя
Это делается путём копирования содержимого публичного ключа в список
авторизованных ключей. Обычно этот файл находится по пути
~/.ssh/authorized_keys
Файл можно передать путём копирования файла, использования текстового редактора
и буфера обмена или с помощю приложения ssh-copy-id:
ssh-copy-id -i ~/.ssh/id_ed25519 user@192.168.122.9Необходимо будет пройти настроенную аутентификацию (по паролю или другому ключу)
Ключи, защищённые паролём, безопаснее, но требуют постоянного ввода пароля
Ключи можно загрузить в специальную службу ssh-agent, введя пароль от ключа, чтобы затем ssh-клиент считывал их из службы, а не с файловой системы
Для загрузки ключа в агент используется приложение ssh-add:
ssh-add [file ...]~/.sshДля очистки списка открытых SSH-ключей необходимо запустить приложение с
аргументом -D: ssh-add -D
Если необходимо выполнять подключения к разным системам с разнородными параметрами, то их удобно единожды зафиксировать в конфигурационном файле
Рассмотрим пример файла ~/.ssh/config:
Host playground
HostName 127.0.0.1
Port 2022
User user
IdentityFile ~/.ssh/playground-keyТогда для подключения к данному серверу достаточно будет выполнить:
ssh playgroundВместо:
ssh -i ~/.ssh/playground-key -p 2022 user@127.0.0.1Конфигурация сервера OpenSSH в ОС семейства Альт находится по пути
/etc/openssh/sshd_config, а его описание находится в 5-м разделе руководства
Процесс редактирования сервера sshd надо выполнять аккуратно, т.к. некорректная конфигурация потребует наличия альтернативного способа подключения к серверу, что зачастую затруднено или дорого
Процесс редактирования:
sshd -tsystemctl reload sshd перезагрузите конфигурационный файлPermitRootLogin noЗапрещает аутентификацию пользователя root, рекомендуемая настройка
AllowUsers studentРазрешает доступ только пользователю student, все другие пользователи не смогут подключиться.
AllowGroups wheel sshРазрешает доступ только пользователей, входящих в одну из групп wheel или
ssh
Альт предоставляет инструмент control с помощью которого можно выполнять
настройку политик безопасности: разрешать или запрещать выполнять различные
операции
Данный инструмент позволяет настраивать следующие политики:
sshd-password-auth — разрешить или запретить аутентификацию по паролюsshd-allow-groups — включить список групп, которым разрешён доступНапример для отключения аутентификации по паролю:
control sshd-password-auth disabledsystemctl restart sshd