Как настроить ключи SSH в Ubuntu 20.04

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

В двух словах, SSH или «безопасная оболочка» — это зашифрованный протокол, с помощью которого вы можете подключиться к серверу удаленно и получить доступ к информации, связанной с Это. Он обеспечивает гораздо более безопасный способ ведения журнала, чтобы обеспечить безопасный способ входа в систему без ущерба для безопасности.

Шаг 1. Создание пары ключей

Начнем с созданием пары ключей в клиентской системе сначала с корневым доступом по следующему типу:

$ ssh-keygen

По умолчанию последний ssh-keygen запускает создание 3072-битной пары ключей RSA. Вы можете добавить флаг –b 4086, чтобы сгенерировать ключ большего размера. Нажмите Enter, и пара ключей сохранится в подкаталоге .ssh/. Обратите внимание, что если вы являетесь гостем на сервере, на котором уже был установлен ключ, вас спросят, хотите ли вы перезаписать его или нет. В этом случае введите «y», чтобы дать ответ «да».

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

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

Затем мы необходимо передать открытый ключ на ваш сервер ubuntu.

Вы можете использовать утилиту ssh-copy-id, используя следующую команду:

$ ssh-copy-id имя пользователя @ server_host

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

Иногда бывает так, что метод ssh-copy-id не работает или просто недоступен. В этом случае вам нужно будет скопировать его через SSH на основе пароля. Это можно сделать с помощью команды cat и обязательно добавить символ >> для добавления к содержимому вместо его перезаписи.

$ cat ~/.ssh/id_rsa .pub | ssh имя_пользователя @ ip_адрес_сервера
«mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys»

Если это первый раз, когда вы подключаетесь к новому хосту, ваша система покажет вам что-то вроде:

Просто введите yes и нажмите кнопку Enter. Затем введите пароль для учетной записи пользователя, и открытый ключ будет скопирован на ваш сервер Ubuntu.

В случае, если доступ к SSH на основе пароля вам по какой-то причине запрещен, вы не можете вы всегда можете просто скопировать открытый ключ вручную. Добавьте ~/. ssh/authorized_keys в файл id_rsa.pub на вашем удаленном компьютере. Затем войдите в свою учетную запись удаленного сервера и проверьте, существует ли каталог ~ SSH. Если это не так, введите:

$ mkdir -p ~/.ssh

Теперь вам просто нужно добавить ключ:

$ echo public_key_string >> ~/.ssh/authorized_keys

$ chmod -R go = ~/.ssh

Также убедитесь, что вы используете каталог ~ SSH/ USER , а NOT корневой каталог:

$ chown -R younis: younis ~/.ssh

Шаг 3: Аутентификация ключей SSH

Следующим шагом является аутентификация ключей SSH на сервере Ubuntu. Сначала войдите на свой удаленный хост:

$ ssh username @ remote_host

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

Шаг 4. Отключите аутентификацию по паролю

С аутентифицированными ключами SSH вам больше не нужна система аутентификации по паролю.

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

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

Предоставив права администратора вашей учетной записи удаленного доступа, войдите на удаленный сервер с ключами SSH с правами root или sudo. Затем используйте следующую команду для доступа к файлу конфигурации демона SSH:

$ sudo gedit/etc/ssh/sshd_config

Теперь, когда файл открыт, найдите каталог ‘PasswordAuthentication’ и введите следующее, чтобы отключить аутентификация по паролю и вход по SSH на основе пароля.

$/etc/ssh/sshd_config
. . .
Проверка подлинности пароля нет
. . .

Чтобы эти изменения вступили в силу, вам придется перезапустить службу sshd с помощью следующей команды:

$ sudo systemctl restart ssh

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

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

Заключение

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

Оцените статью
nanomode.ru
Добавить комментарий