Авторизация SSH по ключу в Linux

  • 25.09.2014
  • 13 061
  • 0
  • 04.02.2024
  • 3
  • 3
  • 0
Авторизация SSH по ключу в Linux

SSH авторизация по ключу - наиболее безопасный способ авторизации, значительно превосходящий по безопасности обычный метод авторизации по паролю. В этой небольшой статье, мы разберем, как реализовать авторизацию по SSH ключу на удаленном сервере под управлением операционной системы семейства Linux.

Генерация ключа в Linux

Генерация ключа запускается следующей командой:

ssh-keygen -t rsa -b 2048

-t rsa - тип шифрования;
-b 2048 - длина ключа;

если нужно сгенерировать ключ под другого пользователя, то необходимо воспользоваться командой su:

su ЛОГИН

очевидно, ЛОГИН необходимо заменить на имя нужного пользователя.

И уже затем воспользоваться командой для генерации ключей.

При генерации ключа вам будет задано несколько вопросов:

Enter file in which to save the key (/home/user/.ssh/id_rsa) - если нет необходимости сохранять в другое место сгенерированные файлы ключей, то оставляем без ответа;
Enter passphrase (empty for no passphrase): - если хотим защитить наш файл ключа паролем (пароль именно на клиентский ключ!), если же хотим сделать файл ключа без пароля, то оставляем без ответа. ВАЖНО - ВОССТАНОВИТЬ ЗАБЫТЫЙ ПАРОЛЬ НЕВОЗМОЖНО;
Enter same passphrase again: - повторяем пароль;

После конца генерации, появляется два ключа:

Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.

id_rsa - приватный ключ пользователя;
id_rsa.pub - публичный ключ сервера;

В файле /etc/ssh/sshd_config проверяем:

Разрешаем использование RSA ключей:

RSAAuthentication yes

Разрешаем авторизацию при помощи ключей:

PubkeyAuthentication yes

Путь где будут находиться ключи, с которыми можно соединяться:

AuthorizedKeysFile    %h/.ssh/authorized_keys

Потом идем в директорию пользователя:

cd ~/.ssh/

и записываем авторизованные ключи

cat id_rsa.pub >> authorized_keys

Копируем себе файл id_rsa, и удаляем его на сервере. Так же удаляем и id_rsa.pub.

Авторизация из Windows

Теперь для авторизации в Windows с помощью ключа, скопированного ранее с сервера, нужно воспользоваться утилитой PuTTYGen (идет в комплекте с PuTTY), которая сконвертирует ключ в понятный PuTTY формат.

Conversion - Import key

puttygen1

При желании можем написать комментарий в поле "Key comment", а так же добавить пароль, написав его в "Key passphrase".
Далее жмем "Save private key".

puttygen2

Для авторизации по ключу, в PuTTY/KiTTY нужно проделать следующее:

Connection - data - autologin username = имя пользователя

kitty1

Connection - data - ssh - auth - указываем файл ключа

kitty2

Если соединение с ssh сервером проходит успешно, то следует отключить возможность захода с помощью авторизации по логину/паролю. В конфиге /etc/ssh/sshd_config меняем значение параметров "PasswordAuthentication" и "PermitEmptyPasswords" на "no"

PasswordAuthentication no
PermitEmptyPasswords no

Перезапускаем службу

/etc/init.d/ssh restart
Была ли эта статья Вам полезна?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.