Tutorial

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

Published on November 6, 2018
Русский
Первоначальная настройка сервера с ОС Ubuntu 18.04

Введение

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

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

Шаг 1 — Вход в систему под именем Root

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

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

  1. ssh root@your_server_ip

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

О пользователе Root

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

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

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

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

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

  1. adduser sammy

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

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

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

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

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

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

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

  1. usermod -aG sudo sammy

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

Шаг 4 — Установка простого брандмауэра

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

Примечание: Если ваши серверы работают на DigitalOcean, вы можете использовать брандмауэры DigitalOcean Cloud Firewalls вместо UFW. Мы рекомендуем использовать только один брандмауэр, чтобы избежать трудноустранимых конфликтов.

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

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

  1. ufw app list
Output
Available applications: OpenSSH

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

  1. ufw allow OpenSSH

Затем мы можем активировать брандмауэр путем ввода:

  1. ufw enable

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

  1. ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

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

Шаг 5 — Предоставление внешнего доступа для обычного пользователя

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

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

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

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

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

  1. ssh sammy@your_server_ip

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

  1. sudo command_to_run

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

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

###Если учетная запись Root использует аутентификацию с помощью SSH-ключей

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

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

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

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

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

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

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

  1. ssh sammy@your_server_ip

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

  1. sudo command_to_run

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

Что дальше?

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

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the authors
Default avatar

Developer Advocate

Dev/Ops passionate about open source, PHP, and Linux.



Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Featured on Community

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more