Организация доступа по SSH к удалённому серверу без пароля

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

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

Мы будем предполагать, ваш сервер уже использует службу SSH и она запущена. При этом мы не будем запускать SSH-сервер на клиентской стороне, будем использовать беспарольный SSH.

 

1. Генерируем ключ SSH

Снова предполагаем, что у вас на клиентской машине установлен SSH-клиент, например openssh-client. Первым делом нужно сгенерировать ключ SSH.

Для этого будем использовать команду ssh-keygen, которая имеется в составе пакета openssh-client в Ubuntu, как и в любом другом дистрибутиве, основанном на Debian.

ssh-keygen -t rsa

генерация ключей для беспарольного доступа по ssh

Вам не нужно при этом вводить какую-то парольную фразу, просто держите нажатой клавишу Enter. Эта команда создаст 2048-битовый ключ RSA, который по умолчанию будет сохранен в каталоге ~/.ssh.

Если вы хотите получить ключ другого типа, например DSA или ECDSA, добавьте соответствующий параметр после аргумента -t к команде ssh-keygen.

ssh-keygen -t dsa

Я полагаю, что 2048-битный ключ RSA достаточно надежен для использования в некритичных случаях. Однако, если вы хотите сгенерировать более длинный ключ, используйте в команде аргумент -b.

ssh-keygen -t rsa -b 4096

2. Копируем публичный ключ SSH на удаленный сервер

Существует два типа SSH-ключей для организации беспарольного доступа по SSH: несекретный публичный ключ (a public key) и секретный ключ (private key). id_rsa – это секретный ключ, а id_rsa.pub – это ваш публичный ключ.

На удаленный сервер вам нужно скопировать публичный ключ, либо с помощью команды ssh-copy-id, либо вручную каким-то другим способом.

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

ssh-copy-id  [email protected]

Может быть более понятен будет следующий пример:

ssh-copy-id  [email protected]

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

Существует альтернативный вариант: вы можете залогиниться на удаленный сервер и создать текстовый файл в каталоге the ~/.ssh, например, выполнив следующую команду.

nano ~/.ssh/authorized_keys

Скопируйте в этот файл содержимое вашего файла ~/.ssh/id_rsa.pub на вашей локальной машине, сохраните файл и выйдите из текстового редактора.

3. Тестирование беспарольного доступа по SSH и замечания

Теперь вы уже должны иметь возможность подключиться к удаленному серверу не вводя пароля. И для достижения большей безопасности вы можете отключить возможность SSH-входа по паролю.

Замечание: Очень важно сохранять в тайне ваш секретный ключ. Никогда никому его не сообщайте и не теряйте его. Также никогда не перезаписывайте существующие ключи, если вы ранее использовали таковой. Вы просто-напросто потеряете беспарольный доступ по SSH к вашему серверу.

Надеюсь, что это краткое руководство по включению входа в систему без пароля достаточно простое, и вы все поняли.

Поділіться своєю знахідкою

Залишити відповідь

0 комментариев
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x