Centos 8 настройка ssh

Обновлено: 03.07.2024

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

В этом мануале мы расскажем вам все о начальной настройке сервера CentOS 8.

1: Root-логин

Чтобы подключиться к серверу, вам понадобится его внешний IP-адрес. Кроме того, вы должны знать пароль или иметь закрытый ключ администратора – пользователя root (если вы используете аутентификацию на основе SSH-ключей).

Если вы еще не подключились к серверу, сделайте это сейчас. Чтобы войти на сервер как пользователь root, введите эту команду:

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

Что такое root?

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

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

2: Создание нового пользователя

Войдя в систему как root, создайте нового пользователя для постоянной работы с сервером.

Чтобы создать нового пользователя по имени 8host, введите:

Примечание: Замените условное имя 8host именем своего пользователя.

Затем вам нужно установить надежный пароль для вашего нового пользователя:

Команда предложит дважды ввести пароль. Сейчас этот аккаунт уже можно использовать, но пока что у него нет доступа к sudo. Давайте предоставим ему такой доступ.

3: Доступ к sudo

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

Чтобы иметь возможность выполнять задачи администратора в сессии нового пользователя, передайте ему права суперпользователя. Для этого нужно открыть ему доступ к команде sudo.

В CentOS 8 доступ к этой команде по умолчанию есть у всех, кто входит в группу wheel. Чтобы добавить вашего нового пользователя в эту группу, запустите следующую команду в сессии пользователя root:

usermod -aG wheel 8host

Теперь новый пользователь имеет права суперпользователя и может выполнять задачи администратора.

4: Настройка брандмауэра

Серверы CentOS могут использовать брандмауэр для блокировки соединений с отдельными сервисами. Как правило, обычно в качестве брандмауэра на CentOS используется firewalld. Инструмент firewall-cmd позволяет установить политики брандмауэра и настроить исключения.

Сначала установите брандмауэр firewalld.

dnf install firewalld -y

По умолчанию firewalld поддерживает соединения ssh, потому брандмауэр можно включить сразу после установки, не боясь заблокировать себя на своем же сервере:

systemctl start firewalld

Теперь проверьте состояние брандмауэра:

systemctl status firewalld
firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-02-06 16:39:40 UTC; 3s ago
Docs: man:firewalld(1)
Main PID: 13180 (firewalld)
Tasks: 2 (limit: 5059)
Memory: 22.4M
CGroup: /system.slice/firewalld.service
└─13180 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid

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

Теперь, когда сервис установлен и запущен, мы можем использовать утилиту firewall-cmd, чтобы настроить политику брандмауэра.

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

firewall-cmd --permanent --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: cockpit dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

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

Помните, что вам нужно явно открыть в брандмауэре все необходимые вам порты.

5: Проверка доступа к новому пользователю

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

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

Настройка SSH-доступа для вашего нового пользователя зависит от того, что использует ваша учетная запись root для аутентификации – пароль или SSH-ключи.

Парольная аутентификация

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

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

При первом запуске sudo в каждой сессии (и периодически при запуске разных команд) вам будет предложено ввести пароль текущего пользователя.

Чтобы повысить безопасность сервера, вместо парольной аутентификации мы настоятельно рекомендуем настроить SSH-ключи. Следуйте инструкциям в мануале Установка SSH-ключей в CentOS 8.

Аутентификация на основе SSH-ключей

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

/.ssh/authorized_keys нового пользователя для дальнейшего доступа к системе.

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

/.ssh/authorized_keys, вы можете скопировать эту структуру файлов и каталогов в учетную запись нового пользователя.

Проще всего это сделать с помощью команды rsync. Она скопирует каталог .ssh, сохраняя все права доступа к нему. Вместо 8host вы должны указать имя вашего пользователя.

Примечание: Команда rsync обрабатывает исходные и целевые места, имя которых заканчивается косой чертой, иначе, чем те, у которых в имени нет косой черты. При использовании rsync убедитесь, что в качестве исходного каталога вы используете

Если вы случайно добавите косую черту в команду, rsync вместо структуры каталога

/.ssh скопирует содержимое каталога

/.ssh корневой учетной записи в домашний каталог пользователя sudo. Файлы будут в неправильном месте, и SSH не сможет их найти.

rsync --archive --chown=8host:8host

Теперь вернитесь в терминал на локальной машине и создайте новое SSH соединение:

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

При первом запуске sudo в каждой сессии (и периодически при запуске разных команд) вам будет предложено ввести пароль текущего пользователя.

Заключение

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

В одной из прошлых статей мы разбирались как установить CentOS 8 на компьютер. Любая только что установленная операционная система нуждается в настройке и персонализации под ваши нужды. CentOS не исключение.

В этой статье мы разберем как выполняется настройка CentOS 8 после установки, как настроить сеть, ssh, брандмауэр, а также как убрать лишние службы. Все будет пошагово, главное — внимательно читайте и тогда у вас все получится, как по инструкции.

Настройка CentOS 8 после установки

Шаг 1. Обновление системы

Пожалуй, самая стандартная процедура при установке любой операционной системы. Для начала нам надо зайти в текстовую консоль или открыть терминал если работаете в графическом интерфейсе. Открыть консоль можно сочетанием клавиш Ctrl+Alt+F1 (или F 2, F 3, F 4 и так до F12). А терминал можно найти в главном меню. Мы рассмотрим вариант с текстовой консолью.


А вот и она, авторизуйтесь от имени пользователя root. Затем используйте команды:

dnf check - update


Теперь можно почистить кэш, чтобы очистить дисковое пространство, и перейти к другим шагам. Делается это командой:


Шаг 2. Установки системных утилит

Настройка centos 8 не обходится без установки сервисных утилит. Это те самые утилиты, которые можно использовать изо дня в день, поэтому давайте установим их заранее. Скорее всего, вам будет нужны след. утилиты: vim , wget , curl , net - tools , lsof и bash - completion . « И что же это такое?» — спросите вы. А вот что это:

  • wget и curl вам будут нужны для загрузки файлов по сети;
  • net - tools содержит набор программ для поддержки сетей;
  • lsof шикарная утилита, она позволяет выводить информацию о том, какие файлы задействованы теми или иными процессами;
  • nano и vim являются редакторами. Первый, кстати, больше для новичков подходит, а второй уже для опытных. Во многом из-за того, что в vim editor инструментарий шире.
  • bash - completion - без автозаполнений далеко не уедешь.

Итак, пишем команду длиною в жизнь:

dnf install nano vim wget curl net-tools lsof bash-completion


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

Шаг 3. Настройка имени компьютера

CentOS примечателен тем, что имеет широчайший диапазон инструментов для работы и настройки сетей. Для новичка лучше начать с команды nmtui . Установим имя хоста . Для этого пишем:

Сразу же появится вот такое окно:


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

Шаг 4. Настройка статического IP

Теперь зададим статический IP . Используем все ту же команду nmtui:

Далее вас приветствует вот такое интерфейс:

Нажимаем на Edit и попадаем в след. меню:


Теперь я устанавливаю значения для статики. Напротив IPv 4 Configuration выставите значение Manual .


Затем пропишите нужный ip адрес в поле Addresses, адрес шлюза (роутера) в поле Gateway и DNS серверы, которые хотите использовать, например, 8.8.8.8 от Google. Как только все сделали надо перезапустить сеть. Делается это командой:


Нажимаем на Deactivate/Activate. Сделали? Теперь новые настройки вступили в силу. Идем дальше. Давайте вообще проверим правильно ли мы указали данные. Пишем команды:

ifconfig enp 0 s 3




Ко всему прочему есть ещё дополнительные утилиты, которые позволят вам узнать какая скорость в сети, её статус, да и вообще более подробную информацию подтянуть. Пишем команды:


Шаг 5. Создаем нового пользователя

Вообще лучше всего всегда иметь пользователя с правами на администрирование, поэтому мы с вами сделаем такого. Для создания пользователя выполните:

Создаем пароль для пользователя:

Добавляем пользователя в группу sudo:

usermod - aG wheel nomanoma

Достаточно просто, да?

Шаг 6. Настройка SSH

Если вы собираетесь подключаться к вашему серверу по ssh, то более удобно будет использовать ssh ключи вместо логина и пароля. Мы будем использовать и публичный, и приватный ключи. Ещё их называют открытый и закрытый ( public и private key ). Сначала вам надо вернуться в вашу рабочую систему и создать эту пару ключей. Для этого выполните:

ssh-keygen -t RSA

Обратите внимание на строку Enter passphrase (empty for no passphrase). Чтобы не вводить пароль при входе на сервер по SSH оставьте её пустой, одного тогда вы должны учитывать, что если этот файл попадет в чужие руки, то тот человек получит полный доступ к серверу.

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

Теперь на удаленный сервер можно попасть без пароля.

Шаг 7. Настройка безопасности ssh

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


systemctl restart sshd

Шаг 8. Настройка брандмауэра

Базовая настройка centos не обойдется без брандмауэра, по умолчанию здесь используется firewalld. Чтобы запустить его на сервере надо использовать команды:

systemctl enable firewalld

systemctl start firewalld

А чтобы посмотреть статус используйте:

systemctl status firewalld

Но прежде всего надо добавить службу SSH, поскольку если её нет в правилах, то как вы будете взаимодействовать с системой по этому протоколу? Если вы подключены к серверу удаленно, то можете всё сломать. Для её добавления используйте:

firewall-cmd -–add-service=ssh
firewall-cmd -–add-service=ssh --permanent


Ну а если вам необходимо использовать SMTP или веб-сервер , то очевидно, что следует добавить разрешающие правила для этих служб:

С помощью команды ниже я могу увидеть все правила на сервере.

firewall-cmd --permanent –list-all


Шаг 9. Удаление ненужных служб

Вы думали, что только в Windows придется заниматься подобным? Уже нет. У каждой службы есть свое назначение. Поэтому я покажу как увидеть весь список служб, а вы уже для себя решите какие нужны, а какие нет. Чтобы увидеть весь список используйте:

Вот так это выглядит:


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

systemctl stop имя_службы

systemctl disable имя_службы

Шаг 10. Управление службами

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


Список действительно большой. В общем и целом, так можно отслеживать службы в вашей системе. Наша статья о том, как выполняется настройка centos после установки завершена, но настраивать там можно ещё очень много чего. Надеюсь, статья была полезной, и вы узнали что-то новое для вас. А что вы настраиваете после установки? Напишите в комментариях!

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Favorite

Добавить в избранное

Главное меню » CentOS » Как включить SSH в CentOS 8?

(1 оценок, среднее: 5,00 из 5)

Как изменить стандартный порт SSH в Linux (правильно и безопасно)

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

Настройка сервера CentOS 8 для удаленного подключения

Шаг 1. Обновите системный репозиторий пакетов.

Обновите кеш системного репозитория пакетов, введя следующую команду:

Обновите пакеты системы.

Шаг 2. Установите сервер OpenSSH на сервере CentOS 8.

После обновления кеша системного репозитория и пакетов установите пакет сервера OpenSSH, введя следующую команду:

После успешной установки запустите службу «sshd», если она еще не запущена.

Шаг 3. Запустите службу OpenSSH.

Для запуска службы OpenSSH введите следующую команду:

Проверьте статус службы, используя команду ниже:

Кроме того, включите службу OpenSSH при перезагрузке, набрав команду, приведенную ниже:

Хорошо, служба OpenSSH активна и готова к подключению. Теперь нам нужно запустить трафик, и для этого нам необходимо настроить брандмауэр.

Шаг 4. Разрешите межсетевому

Файервол будет пропускать любой трафик с порта 22 SSH. Чтобы разрешить межсетевому экрану передавать трафик через SSH, введите следующую команду:

Лучше перезагрузить брандмауэр после его настройки.

Сервер CentOS 8 готов к подключению по SSH. Давайте узнаем IP-адрес сервера и получим к нему доступ с клиентской машины CentOS 8.

Шаг 5: Получите IP-адрес сервера CentOS 8

Чтобы получить IP-адрес сервера CentOS, введите следующую команду:

Читать pip Uninstall / удаление пакета, установленного с помощью pip

IP-адрес нашего сервера 192.168.12.054. Подключимся к этой машине с клиентской машины CentOS 8.

Подключитесь к серверу CentOS 8 из клиента CentOS 8

Для подключения к серверу CentOS 8 выполните шаг, указанный ниже:

Шаг 1. Установка клиентов OpenSSH на клиентском компьютере CentOS 8

Прежде всего, вам необходимо установить клиенты OpenSSH на клиентском компьютере с CentOS 8.

После установки клиентов OpenSSH создайте и скопируйте пары ключей SSH для подключения к серверу CentOS 8.

Шаг 2: Создание пары ключей SSH

Для создания пары ключей SSH введите команду, приведенную ниже:

Нажмите «Enter», чтобы сохранить пару ключей в заданном каталоге по умолчанию.

Или, если вы уже сгенерировали пару ключей, нажмите «Enter», чтобы перезаписать ранее сгенерированную пару ключей.

Введите кодовую фразу или нажмите «Enter», чтобы ввести пустую кодовую фразу.

Хорошо, пара ключей создана успешно, теперь давайте скопируем пару ключей на сервер.

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

Для копирования пары ключей на сервер CentOS 8 введите следующую команду:

Не забудьте изменить «andreyexuser» и «192.168.12.054» на имя пользователя и IP-адрес сервера CentOS 8.

Введите «Yes» и нажмите «Enter».

Введите пароль для имени пользователя, отображаемого в терминале, и нажмите «Enter».

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

Шаг 4: Подключитесь к серверу CentOS 8 через SSH

Теперь просто подключите SSH к серверу CentOS 8, используя следующую команду:

Это оно! Мы успешно вошли на сервер CentOS 8 с клиентской машины CentOS 8, используя SSH.

Заключение

Мы рассмотрели огромный спектр включения SSH в CentOS 8, установив сервер OpenSSH на машине с CentOS 8 Server, включив службу «sshd» и открыв брандмауэр системы для входящего трафика с SSH на порту 22. Мы также узнали для подключения к серверу CentOS 8 с клиентского компьютера CentOS 8 путем установки клиентов OpenSSH, генерации и копирования пары ключей SSH, копирования пары ключей на серверный компьютер и подключения к серверу CentOS 8 через SSH.

Читать Команда ln в Linux. Создание мягких и жестких ссылок

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

Чтобы войти на сервер, вам нужно знать публичный IP-адрес вашего сервера. Также вам потребуется пароль или, если вы установили ключ SSH для аутентификации, приватный ключ для учетной записи root user. Если вы еще не выполнили вход на сервер, вы можете воспользоваться нашей документацией по подключению к вашему Droplet с помощью SSH, которая подробно описывает этот процесс.

Если вы еще не подключились к серверу, выполните вход в систему как root user, используя следующую команду (замените выделенную часть команды на публичный IP-адрес вашего сервера):

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

Подробнее о root

root user — это пользователь с правами администратора в среде Linux, который имеет очень широкий набор привилегий. Из-за такого широкого набора привилегий учетной записи root не рекомендуется использовать ее на регулярной основе. Это связано с тем, что часть возможностей, получаемых с помощью учетной записи root, включает возможность внесения очень разрушительных изменений, даже если это происходит непреднамеренно.

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

Шаг 2 — Создание нового пользователя

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

Этот пример создает нового пользователя с именем sammy, но вы должны заменить это имя на любое предпочитаемое вами имя:

Далее мы установим надежный пароль для пользователя sammy :

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

Шаг 3 — Предоставление административных прав

Теперь у нас есть новая учетная запись пользователя со стандартными правами. Однако иногда может потребоваться выполнение административных задач.

Чтобы не выполнять выход из стандартной учетной записи и выполнять вход в систему с учетной записью root, мы можем настроить так называемого «суперпользователя» или добавить привилегии root для стандартной учетной записи. Это позволит нашему обычному пользователю запускать команды с правами администратора, указав слово sudo перед каждой командой.

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

Используя права root, запустите эту команду, чтобы добавить нового пользователя в группу wheel (замените выделенный текст на новое имя пользователя):

Теперь, когда вы войдете в систему со стандартным пользователем, вы можете ввести sudo перед командами для выполнения действий с правами суперпользователя.

Шаг 4 — Настройка базового брандмауэра

Брандмауэры обеспечивают базовый уровень безопасности для вашего сервера. Эти приложения отвечают за отклонение трафика для каждого порта на сервере, за исключением тех портов/служб, для которых вы открыли прием трафика. CentOS имеет службу firewalld для выполнения этой функции. Инструмент с именем firewall-cmd используется для настройки политик брандмауэра firewalld .

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

Сначала установите firewalld :

Конфигурация firewalld по умолчанию позволяет использовать соединения ssh , поэтому мы можем запустить брандмауэр немедленно:

Проверьте состояние службы, чтобы убедиться в ее запуске:

Обратите внимание на значение active и enabled , что означает, что она будет запускаться по умолчанию при перезагрузке сервера.

Теперь, когда служба запущена и работает, мы можем использовать утилиту firewall-cmd для получения и установки информации о политике для брандмауэра.

Сначала мы перечислим службы, которые уже разрешены:

Чтобы посмотреть дополнительные службы, которые вы можете активировать по имени, введите:

Чтобы добавить разрешенную службу, используйте флаг --add-service :

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

Шаг 5 — Активация внешнего доступа для стандартного пользователя

Теперь, когда у нас есть стандартный пользователь non-root user для повседневного использования, нам нужно убедиться, что мы можем использовать его для подключения по SSH к серверу.

Примечание. Пока вы не убедитесь, что вы можете войти в систему и использовать sudo с новым пользователем, мы рекомендуем не выходить из учетной записи root. Таким образом, если у вас есть проблемы, вы можете устранить их и внести необходимые изменения в качестве root. Если вы используете DigitalOcean Droplet и сталкиваетесь с проблемами при использовании подключения SSH в учетной записи root, вы можете войти в Droplet, используя консоль DigitalOcean.

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

Если учетная запись root использует аутентификацию по паролю

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

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

Вам будет предложено использовать пароль обычного пользователя при использовании sudo в первый раз для каждого сеанса (и периодически после этого).

Чтобы повысить уровень безопасности вашего сервера, мы настоятельно рекомендуем настроить ключи SSH вместо использования аутентификации по паролю. Следуйте указаниям по настройке ключей SSH в CentOS 8 из нашего руководства, чтобы узнать, как настроить аутентификацию на основе ключей.

Если учетная запись root использует аутентификацию по ключу SSH

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

/.ssh/authorized_keys нового пользователя для успешного входа.

Поскольку ваш открытый ключ уже включен в файл

/.ssh/authorized_keys учетной записи root на сервере, мы можем скопировать структуру этого файла и директории для нашей новой учетной записи.

Самый простой способ копирования файлов с правильным правами владения и разрешениями — воспользоваться командой rsync . Она будет копировать директорию .ssh пользователя root user, сохранит разрешения и изменит владельцев файлов, все в одной команде. Обязательно измените выделенные ниже части согласно имени вашего стандартного пользователя:

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

/.ssh ) не включает завершающий слеш (убедитесь, что вы не используете

Если вы случайно добавите в команду завершающий слеш, rsync будет копировать содержимое директории

/.ssh учетной записи root в домашнюю директорию пользователя sudo вместо копирования всей структуры директории

/.ssh . Файлы будут находиться в неправильном месте, и SSH не сможет найти и использовать их.

Теперь, вернувшись в новый терминал на локальном компьютере, откройте новый сеанс SSH с пользователем non-root user:

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

Вам будет предложено использовать пароль обычного пользователя при использовании sudo в первый раз для каждого сеанса (и периодически после этого).

Заключение

Теперь у вас есть надежное основание для вашего сервера. Вы можете переходить к установке программного обеспечения, которое требуется на вашем сервере.

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

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

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

В своем терминале на локальном компьютере запустите:

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

Нажмите, ENTER чтобы сохранить эту пару ключей SSH в ./ssh подкаталоге в вашем домашнем каталоге, или укажите альтернативный путь, если хотите.

После этого вы должны увидеть следующий вывод:

В приведенном выше примере your_home домашний каталог вашего компьютера

Вы создали пару открытого и закрытого ключей. Мы скопируем открытый ключ на сервер. Для просмотра вашего открытого ключа:

Вы увидите очень длинную строку, начинающуюся с ssh-rsa .

Шаг 2: Добавление ключа SSH на сервер CentOS

SSH к вашему серверу и создайте .ssh каталог, если он еще не существует:

Добавьте открытый ключ от шага 1 к

/.ssh/authorized_keys . Заменить public_key_string содержимым id_rsa.pub из шага 1:

Выйдите из сервера, затем войдите снова:

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

Аутентификация на основе вашего ключа SSH настроена, но аутентификация по паролю все еще активна. Чтобы изменить это, вам нужно внести некоторые изменения в файл, sshd_config который находится в /etc/ssh каталоге. Вы можете открыть этот файл с помощью этой команды:

В файле необходимо найти и изменить несколько строк. Permit Root Login должен быть установлен на yes

Пароль аутентификации должен быть установлен на no

Проверка подлинности ответа на вызов должна быть установлена ​​на no

Использование метода аутентификации по паролю (PAM) должно быть установлено на yes

После завершения внесения изменений нажмите ESC и затем : W Q . Чтобы это изменение вступило в силу, перезапустите sshd службу:

Перед закрытием терминала, к которому вы подключены, откройте новое окно терминала и выполните эту команду

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

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