Статьи → Безопасность (ИБ) → Создание ssh ключей на Astra Linux

Создание ssh ключей на Astra Linux

Andrew ⚡ Администратор
(обновлено 23.04.2026)
951 v1.0

В этой статье, мы рассмотрим пошагово: как создавать ssh-ключи, отправлять их на удаленный сервер, подключаться по ключам к серверу, а так же отключить вход по ssh с помощью пароля.

Начнемы с создания ssh-ключей на Astra Linux.

1. Создаем ключи с методом шифрования ed25519 (мне он нравится за более надежный метод, а так же за короткий ключ).

Вводим ssh-keygen -t ed25519

*если не указывать -t ed25519, то по умолчанию будет метод RSA.

При запуске генерации ssh-ключей, у нас запрашивает, будем ли мы указывать путь и название файла с ключем, отличным от стандартного расположения и названия. Если вы планируете использовать один ключ, то можно оставить как есть, ничего не вводить и нажать enter. Если планируете использовать ни один ключ, то конечно лучше создать директории к примеру github, servers итд, а в эти директории создать ключи. 

Я же буду использовать стандартное местоположение, но вот название укажу свое astraops.

В моем случае, я прописал /home/andrew/.ssh/astraops

Следущий вопрос, ssh-keygen спрашивает, буду ли я ставить своего рода 'мастер-пароль' на свой ssh-ключ. Это своего рода дополнительная защита к нашему ключу. Даже если кто-то завладеет им, то без этого дополительного пароля, воспользоваться им будет невозможно. Я конечно ставлю мастер-пароль всегда на все свои ключи, по этому вводим пароль, а потом его повторяем. Если не хотите ставить пароль, то просто нажимаем enter и ключи будут без пароля.

После генерации ключей, мы видим сообщение, что ключи сгенерированы.

2. Теперь отправим наш ssh-ключ на удаленный сервер. Для этого есть простая команда ssh-copy-id.

ssh-copy-id -i /ПУТЬ/ДО/КЛЮЧА.pub USERNAME@SERVER

Ключ -i отвечает за путь до ssh ключа.
USERNAME - вводим ваш логин от учетной записи на удаленном сервер
SERVER - адрес, вашего удаленного сервера

После данной команды, у вас запросит ввод пароля от учетной записи (как буд-то подключаетесь по ssh на сервер). При успешной отправке ключей, мы видим вот такой информационное сообщение.

P.s.: ключи прописываются в ту учетную запись, которую указали USERNAME@SERVER. Соответственно если у вас две, три учетных записей, то имейте это ввиду. Вы будете подключаться по ключам без пароля именно к этой учетной записи.

Попробуем подключиться по ssh-ключам к серверу.

Отлично, мы видим, что по ключам подключение не произошло, сервер запрашивает пароль. Это произошло из-за того, что у меня много ключей и агент не знает, какой ключ нужно использовать для данного сервера. Это легко решается. Нужно всего лишь указать агенту, какие ключики использовать от замка, своего рода сделать бирку на ключи. Если у вас один ключ, то ничего прописывать не нужно, подключение будет проходить и без настроенного config файла.

Если у вас отсутствует config, то создайте его вручную.

touch ~/.ssh/config или командой ниже, если файла нет, он создает автоматически при сохранении.

3. Прописываем сервер в config

nvim ~/.ssh/config

Прописываем блок такого рода

Host SERVERNAME
  HostName SERVERNAME
  User USERNAME
  IdentityFile /ПУТЬ/ДО/КЛЮЧЕЙ
  IdentitiesOnly yes

Теперь если попробовать подключиться, у нас запрашивает мастер-пароль, а не пароль.

Отлично, теперь мы успешно подключаемся к серверу не по паролю, а просто по ключам. Теперь с точки безопасности, будет правильно закрыть доступ входа по логину и паролю, а оставим только по ключам.

4. Как заблокировать доступ к ssh по паролю, а оставить только по ssh ключам. Представлено на видео.

0
Andrew

DevOps Engineer

1 50 статей
Комментарии (0)
Войдите, чтобы оставить комментарий

Пока нет комментариев. Будьте первым!