ssh авторизация по ключу

В статье дана инструкция по организации ssh авторизации по ключу. Клиент linux, сервер linux. Все операции проводим в комадной строке.

План действий:

  • генерация открытого и закрытого ключа на клиенте
  • копирование открытого ключа на сервер
  • конфигурация sshd

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

На клиенте выполняем команду

ssh-keygen -f /home/user/.ssh/id_rsa

где user — каталог локального пользователя.

Получаем 2 файла:

id_rsa — закрытый ключ. Храним надежно. Имея его, можно получить доступ к серверу без пароля!
id_rsa.pub — открытый ключ. Должен находится на сервере, к которому хотим подключаться.

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

Копируем открытый ключ id_rsa.pub на сервер в папку .ssh пользователя, под которым хотим авторизоваться и переименовываем ключ в ‘authorized_keys’.

Выставляем права на каталог .ssh — 700, на authorized_keys — 600.

chmod 700 /home/server_user/.ssh
chmod 600 /home/server_user/.ssh/authorized_keys

Конфигурация sshd

Конфиг на сервере /etc/ssh/sshd_config изменяем/добавляем:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      %h/.ssh/authorized_keys

и перезагружаем sshd:

service ssh restart

Результат

Теперь выполняем подключение с клиента на сервер:

ssh user@ip
ssh -i /home/user/.ssh/authorized_keys user@ip

Подключение должно пройти без запроса пароля.

Быстрый способ

ssh-keygen -t rsa -b 2048
ssh-copy-id id@server

 

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