ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как добавить открытый ключ SSH на сервер

Как добавить открытый ключ SSH на сервер

Аутентификация с открытым ключом позволяет получить доступ к серверу через SSH без пароля. Вот два способа скопировать открытый ключ ssh на сервер.

Мы предполагаем, что вы понимаете основную концепцию SSH. На вашем сервере Linux включен ssh. Вы сгенерировали ключи ssh на своем персональном компьютере. Теперь вы хотите загрузить свой открытый ключ на авторизованные ключи сервера, чтобы вы могли получить к нему доступ без постоянного ввода пароля учетной записи.

В этой краткой статье показаны два метода добавления публичного ключа SSH на сервер.

 

Требования

Прежде чем вы это увидите, давайте проясним, что у вас уже должно быть:

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

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

 

Способ 1: автоматически скопировать ключ ssh на сервер

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

Здесь мы предполагаем, что вы смогли войти на удаленный сервер, используя ssh user_name @ ip_of_server. Он запрашивает пароль вашей учетной записи, и вы заходите на сервер.

Если вы добавите свой открытый ключ на сервер, вы сможете войти в систему, не вводя пароль все время.

OpenSSH предоставляет удобный инструментальный вызов ssh-copy-id для копирования открытых ключей ssh ​​в удаленные системы. Он даже создает необходимые каталоги и файлы.

Как мы упоминали ранее, вы должны знать имя пользователя и пароль для сервера, к которому вы хотите получить доступ через аутентификацию с открытым ключом.

ssh-copy-id -i ~/.ssh/id_rsa.pub YOUR_USER_NAME@IP_ADDRESS_OF_THE_SERVER

 

При появлении запроса введите пароль для своей учетной записи на удаленном сервере. Ваш открытый ключ должен быть скопирован в соответствующую папку на удаленном сервере автоматически.

Мы использовали ~/.ssh/id_rsa.pub, потому что это местоположение по умолчанию для открытого ключа ssh. Если у вас есть его в другом месте, вы должны использовать это в приведенной выше команде.

 

Способ 2: вручную скопировать открытый ключ ssh на сервер

Первый метод имел действие на стороне пользователя. Допустим, вы – системный администратор, а ваш сервер не разрешает SSH вход через пароль. Единственный способ получить доступ к серверу – использовать аутентификацию с открытым ключом SSH.

В таком случае вы можете попросить конечного пользователя предоставить свой открытый ключ. Теперь вы можете создать каталог .ssh/authorized_keys, а затем скопировать открытый ключ здесь.

Позвольте нам показать эти шаги.

 

Шаг 1: Получить открытый ключ

Попросите конечного пользователя предоставить открытый ключ, введя следующую команду:

cat ~/.ssh/id_rsa.pub

 

Это покажет длинную случайную строку, начинающуюся с ssh-rsa:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP username@hostname

 

Вы можете получить этот текст по электронной почте или с помощью сообщений. Обычно это не должно быть проблемой.

 

Шаг 2: Создайте каталог ssh в домашнем каталоге пользователя (как системный администратор)

Помните, что вы должны создавать эти новые каталоги и файлы в домашнем каталоге конечного пользователя, а не в своем собственном (root/sysadmin).

mkdir -p /home/user_name/.ssh && touch /home/user_name/.ssh/authorized_keys

 

Теперь откройте этот файл /home/user_name/.ssh/authorized_keys в текстовом редакторе, таком как Vim, и добавьте открытый ключ пользователя здесь:

vim /home/user_name/.ssh/authorized_keys

 

Сохраните и закройте файл. Это почти готово.

 

Шаг 3: Установите соответствующее разрешение для файла

Наличие соответствующих прав доступа к файлу ssh очень важно, в противном случае вы увидите такие ошибки, как Permission denied (publickey).

Сначала убедитесь, что вы установили правильные права доступа к файлу:

chmod 700 /home/user_name/.ssh && chmod 600 /home/user_name/.ssh/authorized_keys

 

Вы создали этот файл с правами администратора или root для другого пользователя. Вам нужно сменить владельца на пользователя:

chown -R username:username /home/username/.ssh

 

Теперь, когда это сделано, вы можете попросить конечного пользователя войти на сервер.

Exit mobile version