Как создать пару ключей SSH (с примерами)
Узнайте, как сгенерировать пару ключей SSH на вашем компьютере, которую затем можно использовать для аутентификации подключения к удаленному серверу.
Аутентификация по паролю — это метод по умолчанию, который большинство SSH-клиентов используют для аутентификации на удаленных серверах, но он страдает от потенциальных уязвимостей безопасности, таких как попытки грубого входа в систему.
Альтернативой аутентификации по паролю является использование аутентификации с помощью пары ключей SSH, при которой вы генерируете ключ SSH и сохраняете его на своем компьютере.
Ключи SSH — это простой способ идентифицировать доверенные компьютеры без использования паролей. Они широко используются сетевыми и системными администраторами для удаленного управления серверами.
Таким образом, аутентификация по ключу SSH более безопасна, чем аутентификация по паролю, и, возможно, более удобна.
Основная идея заключается в том, что вместо пароля используется файл ключа, который практически невозможно угадать. Вы предоставляете открытую часть своего ключа, и при входе в систему она будет использоваться вместе с закрытым ключом и именем пользователя для подтверждения вашей личности.
Приведенные ниже шаги покажут вам, как сгенерировать пару ключей SSH и добавить открытый ключ на сервер.
Как сгенерировать пару ключей SSH в Linux
При создании ключей SSH в Linux вы можете использовать команду ssh-keygen
. Это инструмент для создания новых пар ключей аутентификации для SSH.
Чтобы сгенерировать пару ключей SSH, откройте терминал и введите следующую команду:
ssh-keygen -t rsa
Просто нажмите Enter, когда он запросит файл, парольную фразу или ту же парольную фразу. По умолчанию команда генерирует пару ключей в каталоге ~/.ssh
.
Теперь у вас есть два файла:
id_rsa
id_rsa.pub
(Закрытый ключ). Закрытый ключ хранится на вашем локальном компьютере и должен храниться в безопасности, а разрешения должны быть установлены так, чтобы другие пользователи вашего компьютера не могли прочитать файл.
(Открытый ключ). Открытый ключ необходимо разместить на сервере, на котором вы собираетесь войти. Вы можете свободно делиться своим открытым ключом с другими.
ls -l /home/linuxiac/.ssh/
drwx------ 2 linuxiac linuxiac 4096 Jul 16 18:31 .
drwxr-xr-x 4 linuxiac linuxiac 4096 Jul 16 18:31 ..
-rw------- 1 linuxiac linuxiac 2610 Jul 16 18:31 id_rsa
-rw-r--r-- 1 linuxiac linuxiac 576 Jul 16 18:31 id_rsa.pub
Вы можете разместить открытый ключ на любом сервере, а затем подключиться к нему с помощью ssh
. Когда открытый и закрытый ключи совпадают, SSH-сервер предоставляет доступ без необходимости ввода пароля.
Если вы не знаете, как это сделать, я рекомендую ознакомиться с нашим коротким и понятным руководством «Как настроить вход по SSH без пароля».
Вы можете сгенерировать SSH-ключ еще большего размера с помощью опции -b
для повышения безопасности.
Флаг -b
указывает ssh-keygen
увеличить количество битов, используемых для создания пары ключей, и рекомендуется для дополнительной безопасности. Например, для 4096 бит выполните:
ssh-keygen -t rsa -b 4096
Заключение
В этой статье вы узнали, как генерировать пары ключей SSH с помощью ssh-keygen
. Ключи SSH имеют множество преимуществ перед паролями:
- Повышенная безопасность: их практически невозможно перебрать или угадать.
- Простота управления: больше не нужно создавать и менять случайные пароли.
- Автоматизированные задачи. Поскольку вам не нужно каждый раз вводить пароль, проще автоматизировать задачи, требующие SSH.
Дополнительную информацию о команде ssh-keygen
в Linux можно найти на странице ее руководства.
По теме: SSH для порта, отличного от 22: как это сделать (с примерами)
Не стесняйтесь оставлять комментарии, если у вас есть какие-либо вопросы.