В двух словах, SSH или «безопасная оболочка» — это зашифрованный протокол, с помощью которого вы можете подключиться к серверу удаленно и получить доступ к информации, связанной с Это. Он обеспечивает гораздо более безопасный способ ведения журнала, чтобы обеспечить безопасный способ входа в систему без ущерба для безопасности.
Шаг 1. Создание пары ключей
Начнем с созданием пары ключей в клиентской системе сначала с корневым доступом по следующему типу:
По умолчанию последний ssh-keygen запускает создание 3072-битной пары ключей RSA. Вы можете добавить флаг –b 4086, чтобы сгенерировать ключ большего размера. Нажмите Enter, и пара ключей сохранится в подкаталоге .ssh/. Обратите внимание, что если вы являетесь гостем на сервере, на котором уже был установлен ключ, вас спросят, хотите ли вы перезаписать его или нет. В этом случае введите «y», чтобы дать ответ «да».
Затем в приглашении вас спросят, хотите ли вы добавить кодовую фразу. Вы можете отказаться, но мы рекомендуем вам добавить его. Он усиливает протокол безопасности, предоставляя дополнительный уровень защиты для обхода неавторизованного пользователя.
Шаг 2: Скопируйте открытый ключ на свой сервер
Затем мы необходимо передать открытый ключ на ваш сервер ubuntu.
Вы можете использовать утилиту ssh-copy-id, используя следующую команду:
Это должно сработать всего за несколько секунд. Если ключ был скопирован успешно, переходите к третьему шагу.
Иногда бывает так, что метод ssh-copy-id не работает или просто недоступен. В этом случае вам нужно будет скопировать его через SSH на основе пароля. Это можно сделать с помощью команды cat и обязательно добавить символ >> для добавления к содержимому вместо его перезаписи.
«mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys»
Если это первый раз, когда вы подключаетесь к новому хосту, ваша система покажет вам что-то вроде:
Просто введите yes и нажмите кнопку Enter. Затем введите пароль для учетной записи пользователя, и открытый ключ будет скопирован на ваш сервер Ubuntu.
В случае, если доступ к SSH на основе пароля вам по какой-то причине запрещен, вы не можете вы всегда можете просто скопировать открытый ключ вручную. Добавьте ~/. ssh/authorized_keys в файл id_rsa.pub на вашем удаленном компьютере. Затем войдите в свою учетную запись удаленного сервера и проверьте, существует ли каталог ~ SSH. Если это не так, введите:
Теперь вам просто нужно добавить ключ:
Также убедитесь, что вы используете каталог ~ SSH/ USER , а NOT корневой каталог:
Шаг 3: Аутентификация ключей SSH
Следующим шагом является аутентификация ключей SSH на сервере Ubuntu. Сначала войдите на свой удаленный хост:
Вам будет предложено ввести ключ парольной фразы, который вы добавили на шаге 2. Введите его и продолжайте. Аутентификация займет некоторое время, и как только она будет завершена, вы попадете в новую интерактивную оболочку на вашем сервере Ubuntu.
Шаг 4. Отключите аутентификацию по паролю
С аутентифицированными ключами SSH вам больше не нужна система аутентификации по паролю.
Если аутентификация по паролю включена на вашем сервере, он по-прежнему будет подвержен несанкционированному доступу пользователей с помощью атак грубой силы. Поэтому было бы лучше, если бы вы отключили любую аутентификацию на основе пароля.
Сначала проверьте, настроена ли аутентификация на основе SSH-ключа для root Аккаунт на этом сервере. Если это так, то вы должны изменить его на учетную запись привилегированного пользователя sudo на этом сервере, чтобы доступ администратора был открыт для вас в случае какой-либо чрезвычайной ситуации или когда система сталкивается с некоторыми подозрительными действиями.
Предоставив права администратора вашей учетной записи удаленного доступа, войдите на удаленный сервер с ключами SSH с правами root или sudo. Затем используйте следующую команду для доступа к файлу конфигурации демона SSH:
Теперь, когда файл открыт, найдите каталог ‘PasswordAuthentication’ и введите следующее, чтобы отключить аутентификация по паролю и вход по SSH на основе пароля.
. . .
Проверка подлинности пароля нет
. . .
Чтобы эти изменения вступили в силу, вам придется перезапустить службу sshd с помощью следующей команды:
В качестве меры предосторожности откройте новое окно терминала и проверьте правильность работы службы SSH перед закрытием текущего сеанса.
С вашими подтвержденными ключами SSH вы сможете увидеть, что все работает нормально. Вы можете выйти из всех текущих сеансов сервера.
Заключение
Теперь, когда у вас есть система аутентификации на основе SSH-ключа, вам больше не нужна уязвимая система аутентификации по паролю, поскольку вы можете просто войдите в систему без пароля. Надеюсь, вы нашли это руководство полезным.