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

  • 25.09.2014
  • 8 711
  • 0
  • 01.04.2019
  • 1
  • 1
  • 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 рабочих дня.