Отключить вход по паролю centos

Обновлено: 04.07.2024

Как сделать ваши соединения Secure Shell еще более безопасными

Secure Shell является наиболее широко используемым средством входа на удаленный сервер Linux (или компьютер). Используя этот инструмент, вы получаете доступ к командной строке на удаленном компьютере через безопасный туннель. Из коробки вам будет предложено ввести пароль удаленного пользователя. Хотя это все еще более безопасно, чем использование более старых методов (таких как telnet), его можно сделать еще более безопасным с помощью SSH Key Authentication.

Что такое аутентификация по ключу?

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

Давайте заставим это работать.

Генерация пары ключей SSH

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

Откройте окно терминала на рабочем столе.

Присвойте ключу имя и местоположение (используйте настройки по умолчанию, используя Enter/Return на клавиатуре).

Введите и подтвердите ключевую фразу для ключа (убедитесь, что она является надежной и уникальной)

Теперь у вас есть пара ключей SSH. Эти два файла будут найдены в

/.ssh и будут называться:

Скопируйте ваш открытый ключ на удаленный компьютер

Затем вы должны скопировать файл открытого ключа на удаленный компьютер, на который хотите войти. Это можно сделать с помощью команды:

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

Тестирование соединения

Проверьте соединение, введя команду:

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

Чтобы отключить аутентификацию по паролю, войдите на удаленный компьютер и введите команду:

В этом файле найдите строку:

Измените эту строку на:

Сохраните и закройте файл. Перезапустите SSH с помощью команды:

Теперь, если вы попытаетесь войти на эту удаленную машину с любого рабочего стола (или сервера), который не содержит закрытый ключ, доступ будет запрещен.

Поздравляем, вы успешно сделали вход в удаленную систему Linux более безопасным с помощью SSH.

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

Требуется: Завести удалённую учетную запись, настроить sudo , сделать переключение в учетную запись root без ввода пароля, отключить авторизацию по паролю, организовать подключение к удалённому серверу по SSH-ключам.

2. Решение.

2.1. Подготовка сервера.

Устанавливаем файловый менеджер Midnight Commander, он очень похож на Norton Commander:

Отключение SELinux.

Состояние работы SELinux:

Ответ:


SELinux включен. Отключим его.

Для этого достаточно выполнить замену строки в вышеописанном конфигурационном файле следующей командой:

Проверим состояние SELinux с помощью команды sestatus , как показано ниже:


Готово! SELinux выключен.

2.2. Создание пользователя.

Создадим учётную запись на сервере. Под ней будет заходить коллега для работы по удалённому доступу. Для удобства можно спросить какое бы он предпочел имя удалённой учетной записи. В примере будет использоваться учетная запись коллеги myrzik.

Создадим ему учетную запись:

Пароль ему делать на сервере не будем, он будет подключаться по ключу к серверу.

2.3. Настройка sudo.

Сделаем копию системного файла.

Открываем системный файл, чтобы запускать команды без ввода пароля.

Ответ: Зашел в учетную запись пользователя mytzik ввода без пароля.

Ответ: Зашел в учетную запись root ввода без пароля.

Выходим из цепочки учетных записей.

2.4. Авторизация по ключу.

Теперь организуем вход для коллеги с его ключом.

Коллега, который планирует заходить удалённо на наш сервер, должен сгенерировать 2 ключа: приватный и публичный.

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

И так! Есть ключ коллеги id_rsa.pub , который мы получили от него по электронной почте.

Надо его переписать в специальный файл-хранилище ключей локального пользователя на удалённом сервере.

Создадим каталог для посторонних публичных ключей. Пускай будет каталог

Кладу в него ключ id_rsa.pub .

Смотрю что содержится в файле ключа.

Ответ:


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

Ответ:


Файл публичного ключа id_rsa.pub можно удалить, так как он уже не нужен.

Настроим права на каталоги и файлы:

2.5. Отключение авторизации по паролю.

Сделаем копию системного файла.

Отредактируем системный файл:

Запретим аутентификацию по паролю.

Модифицируем файл конфигурации изменением советующего поля на указанное значение:

Протестируем попытку удалённого доступа на сервер с другого компьютера с авторизацией по ключу пользователя myrzik.

Настройка SSH в CentOS 7

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

Установка компонентов и запуск сервера

Мы уже сказали, что SSH по умолчанию добавлен в список системных библиотек CentOS 7, но иногда по некоторым причинам необходимые компоненты отсутствуют на компьютере. В таком случае их потребуется добавить, а затем активировать работу сервера.

Установка сервера и клиента SSH в CentOS 7 через терминал

Ввод пароля для установки компонентов SSH в CentOS 7 через терминал

Первая команда для активации сервиса SSH в CentOS 7

Вторая команда для активации сервиса SSH в CentOS 7

Проверка работоспособности порта протокола SSH в CentOS 7

После успешного произведения указанных выше инструкций можно смело переходить к началу конфигурации. Хотим обратить ваше внимание, что обязательно следует читать показанные на экране уведомления во время активации команд. Они могут свидетельствовать о возникновении определенных ошибок. Своевременное исправление всех неполадок поможет избежать дальнейших проблем.

Редактирование конфигурационного файла

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

    Советуем использовать редактор nano, установить который в систему поможет команда sudo yum install nano . По завершении инсталляции запустите конфигурационный файл через sudo nano /etc/ssh/sshd_config .

Переход к конфигурационному файлу SSH в CentOS 7

Редактирование конфигурационного файла SSH в CentOS 7

Перезапись конфигурационного файла SSH в CentOS 7

Выход из редактирования конфигурационного файла SSH в CentOS 7

Перезапуск сервисов SSH в CentOS 7

Проверка статуса работоспособности сервера SSH в CentOS 7

Создание пары RSA-ключей

Криптографический алгоритм RSA (аббревиатура от фамилий Rivest, Shamir и Adleman) используется сервисом SSH для создания пары ключей. Такое действие позволить максимально обезопасить клиентскую и серверную часть при проведении соединений. Задействовать придется обе цепи, чтобы создать пару ключей.

    Для начала зайдите на клиентский компьютер и введите в консоли ssh-keygen .

Создание пары ключей для клиента в утилите SSH в CentOS 7

Выбрать файл для расположения пары ключей клиента SSH в CentOS 7

Ввод парольной фразы для пары ключей утилиты SSH в CentOS 7

Успешное создание пары ключей для утилиты SSH в CentOS 7

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

Копирование открытого ключа на сервер

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

Утилита ssh-copy-id

Копирование ключей с помощью специальной утилиты SSH в CentOS 7

The authenticity of host '111.111.11.111 (111.111.11.111)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)?

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

Подтверждение первого входа на удаленный компьютер SSH в CentOS 7

Осталось только ввести пароль от учетной записи сервера, и на этом процедура копирования через упомянутую утилиту будет успешно завершена.

Ввода пароля для удаленного входа на компьютер SSH в CentOS 7

Копирование открытого ключа по SSH

При отсутствии утилиты ssh-copy-id рекомендуем задействовать стандартные возможности инструмента SSH, если, конечно, у вас имеется доступ к серверной учетной записи. Выгрузка ключей производится посредством обычного подключения, а именно:

    Команда cat позволит считать и сразу же добавить ключ в файл на серверном компьютере. Для этого просто введите cat

/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p

Автоматическое копирование ключей через подключение SSH в CentOS 7

Выбрать место сохранения скопированных ключей SSH в CentOS 7

Ручное копирование открытого ключа

Иногда случаются ситуации, когда невозможно использовать утилиту ssh-copy-id, а также отсутствует доступ по паролю. Тогда копирование осуществляется вручную.

    Сперва узнайте этот ключ через уже знакомую команду cat, введя в консоли cat

Узнать содержимое файла с ключами в терминале SSH в CentOS 7

Ознакомиться с созданным открытым ключом SSH в CentOS 7

Создать папку для хранения открытого ключа SSH в CentOS 7

Скопировать открытый ключ на удаленный компьютер SSH в CentOS 7

На этом процедура копирования ключа успешно завершена. Благодаря этому теперь доступна аутентификация к серверу путем ввода ssh username@remote_host . Однако подключиться можно и через пароль, что понижает безопасность такой сети.

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

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

    На удаленном сервере запустите конфигурационный файл SSH через sudo nano /etc/ssh/sshd_config .

Открыть конфигурационный файл для редактирования SSH в CentOS 7

Отключить вход по паролю для SSH в CentOS 7

Сохранить изменения конфигурационного файла SSH в CentOS 7

Перезапустить сервис после изменений конфигурации SSH в CentOS 7

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

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Каким образом настроить доступ на сервер с помощью SSH ключей и отключить аутентификацию по паролю?

06.06.2018 11:08 Сотрудник Озорович Михаил Обновлено 07.11.2019 13:30

Что такое аутентификация с помощью SSH ключей, как она работает и для чего используют?

Закрытый ключ необходимо очень надежно хранить! Мы крайне рекомендуем в качестве дополнительной меры предосторожности защитить его парольной фразой.

Публичный ключ вы можете добавить в разделе "Мои Серверы", вкладка "SSH-ключи".

autentifikatsiya-s-pomoshchyu-ssh-klyuchey-i-otklyuchenie-dostupa-po-parolyu-1.jpg

Есть возможность добавить сразу несколько ключей

autentifikatsiya-s-pomoshchyu-ssh-klyuchey-i-otklyuchenie-dostupa-po-parolyu-2.jpg

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

autentifikatsiya-s-pomoshchyu-ssh-klyuchey-i-otklyuchenie-dostupa-po-parolyu-3.jpg

Если на своём сервере вы настроили доступ с помощью SSH ключей, то панель автоматически загрузит открытый ключ в файл

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

Как сгенерировать ключи?

В Windows это можно сделать с помощью Putty, скачиваем программу и запускаем файл puttygen.exe. Тип ключа выбираем RSA, а длину 2048 бит, нажимаем Generate, при генерации произвольно водим курсором мыши.

autentifikatsiya-s-pomoshchyu-ssh-klyuchey-i-otklyuchenie-dostupa-po-parolyu-4.jpg

Сохраните сгенерированную пару ключей на компьютере, для этого используйте кнопки Save public key и Save private key. Не забудьте защитить закрытый ключ секретной фразой/паролем (необходимо ввести в поле Key passphrase/Confirm passphrase). Скопируйте сгененированный публичный ключ и вставьте его в соответствующее поле нашей панели управления.

В Linux или MacOS откройте терминал и выполните следующую команду

Вы увидите следующий ответ компьютера

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

Чтобы получить открытый ключ вводим в терминале команду

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

Дополнительная защита сервера при использовании SSH ключей: отключение парольной аутентификации

ВНИМАНИЕ! Прежде чем выполнять этот пункт обязательно проверьте работу SSH ключей и входа на сервер по ним.

Если у вас вышло подключиться к серверу с помощью SSH-ключей, то в качестве дополнительной меры безопасности можно отключить аутентификацию через пароль. Для этого открываем конфигурационный файл демона SSH /etc/ssh/sshd_config и раскомментируем директиву PasswordAuthentication, а также установим ей значение no.

Читайте также: