Настройка авторизации на сервере по SSH-ключу.

Создание SSH-ключей для безопасного входа на ваш сервер

Если вы решили настроить на сервере ssh авторизацию по ключу, первое, что необходимо сделать — это сгенерировать секретный и публичный RSA-ключи.

После генерации, публичный ключ копируется на сервер, а секретный ключ остается храниться на локальном компьютере.

Для того чтобы сгенерировать пары ключей выполните команду:

ssh-keygen -t rsa -b 2048

Программа предложит указать каталог, в который будут будут сохранены файлы ключей и попросит ввести секретную фразу.

Нажмите Enter чтобы использовать параметры по умолчанию, тогда программа сохранит ключи в каталог .ssh в домашней директории пользователя.

Для перехода в каталог с ключами выполните команду:

cd ~/.ssh

В каталоге будут лежать два файла:

  • id_rsa — секретный ключ.

  • id_rsa.pub — публичный ключ.

Скопируйте в надежное место файл секретного ключа, а публичный ключ перенесите на сервер.

Заносим сгенерированный открытый ключ в авторизованные ключи сервера. Для этого скопируйте содержимое id_rsa.pub в конец файла authorized_keys:

cat id_rsa.pub >> ~/.ssh/authorized_keys

Настройте ssh авторизацию по ключу в конфиге OpenSSH сервера:

nano /etc/ssh/sshd_config

Приведите текущие настройки в соответствие параметрам ниже:

PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no

Чтобы отключить вход по паролю, изменяем значение параметра:

UseLogin no

Установите права:

chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys

Далее выполните перезапуск ssh сервера.

service sshd restart

На этом настройка сервера закончена.

Настройка ssh авторизации по ключу в Linux

Для ssh авторизации по ключу в Linux, создайте файл ~/.ssh/config и скопируйте в него строки ниже. Затем по аналогии укажите адрес сервера и расположение файла секретного ключа.

Host server.net
IdentityFile ~/.ssh/keys/id_rsa

Устанавливаем права на файл:

chmod 600 ~/.ssh/config

Чтобы зайти на сервер используя SSH авторизация по ключу, выполните команду:

ssh user@server.net

Если хотите вручную указать размещение ключа, выполните команду:

ssh -i ~/.ssh/id_rsa user@server.net
Нужна помощь?Наши инженеры бесплатно помогут с любым вопросом за считанные минутыНаписать нам