Начальная настройка сервера с Ubuntu 18.04

Вступление

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

Шаг 1 - Вход в систему как Root

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

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

ssh root@192.168.0.1

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

О Root

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

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

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

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

В этом примере создается новый пользователь с именем sammy, но вы должны заменить его на имя пользователя, которое вам нравится:

adduser sammy

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

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

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

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

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

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

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

usermod -aG sudo sammy

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

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

Серверы Ubuntu 18.04 могут использовать брандмауэр UFW, чтобы разрешить только подключения к определенным службам. С помощью этого приложения мы можем очень легко настроить базовый брандмауэр.

Различные приложения могут зарегистрировать свои профили в UFW после установки. Эти профили позволяют UFW управлять этими приложениями по имени. OpenSSH, сервис, позволяющий нам теперь подключаться к нашему серверу, имеет профиль, зарегистрированный в UFW.

Вы можете увидеть это, набрав:

ufw app list

Output
Available applications:
  OpenSSH

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

ufw allow OpenSSH

После этого мы можем включить брандмауэр, набрав:

ufw enable

Введите « y» и нажмите ENTER для продолжения. Вы можете увидеть, что SSH-соединения по-прежнему разрешены, набрав:

ufw status

Output
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

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

Шаг 5 - Включение внешнего доступа для вашего обычного пользователя

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

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

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

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

ssh sammy@192.168.0.1

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

sudo command_to_run

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

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

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

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

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

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

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

rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy

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

ssh sammy@192.168.0.1

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

sudo command_to_run

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

Что дальше?

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

Добавить комментарий

Автору будет очень приятно узнать обратную связь о своем руководстве.

Комментариев 0