Введение
Когда вы впервые создаете новый сервер Ubuntu 20.04, вам следует выполнить несколько важных шагов конфигурации в рамках начальной настройки. Эти шаги повысят безопасность и удобство использования вашего сервера, а также обеспечат вам прочную основу для последующих действий.
При создании облака DigitalOcean вы можете выбрать версию Ubuntu, которая будет автоматически добавлена к вашему новому дроплету. Упростите свою настройку с нашими готовыми решениями.
Шаг 1 — Вход под учётной записью root
Для входа на ваш сервер вам потребуется знать публичный IP-адрес вашего сервера. Вам также понадобится пароль или — если вы установили SSH-ключ для аутентификации — закрытый ключ для учётной записи root. Если вы ещё не вошли на свой сервер, вам может быть полезна наша инструкция по как подключиться к дроплетам с помощью SSH, которая подробно описывает этот процесс.
Если вы еще не подключены к своему серверу, войдите сейчас как пользователь root, используя следующую команду (замените выделенную часть команды на публичный IP-адрес вашего сервера):
Примите предупреждение о подлинности хоста, если оно появится. Если вы используете аутентификацию по паролю, введите свой пароль от пользователя root, чтобы войти. Если вы используете SSH-ключ, защищенный парольной фразой, вам может быть предложено ввести парольную фразу при первом использовании ключа в каждой сессии. Если это ваш первый вход на сервер с паролем, вас также могут попросить изменить пароль от root.
О пользователе root
Пользователь root является административным пользователем в среде Linux с очень широкими привилегиями. Из-за повышенных привилегий учетной записи root, рекомендуется не использовать ее регулярно. Это связано с тем, что учетная запись root может внести очень разрушительные изменения, даже по ошибке.
Следующим шагом является настройка новой учетной записи пользователя с ограниченными привилегиями для повседневного использования. Позже мы покажем вам, как временно получить расширенные привилегии в те моменты, когда они вам понадобятся.
Шаг 2 — Создание нового пользователя
Как только вы войдете в систему как root, вы сможете добавить новую учетную запись пользователя. В будущем мы будем входить под этой новой учетной записью вместо root.
В этом примере создается новый пользователь с именем sammy, но вы можете заменить его на имя пользователя, которое вам нравится:
Вам будет задано несколько вопросов, начиная с пароля учетной записи.
Введите надежный пароль и, по желанию, заполните любую дополнительную информацию, если хотите. Это необязательно, и вы можете просто нажать ENTER
в любом поле, которое хотите пропустить.
Шаг 3 — Предоставление административных привилегий
Теперь у нас есть новая учетная запись пользователя с обычными привилегиями учетной записи. Однако нам иногда может потребоваться выполнить административные задачи.
Чтобы избежать необходимости выхода из обычного пользователя и входа обратно под учетной записью root, мы можем настроить так называемые привилегии суперпользователя или root для нашего обычного аккаунта. Это позволит нашему обычному пользователю выполнять команды с административными привилегиями, добавляя слово sudo
перед командой.
Чтобы добавить эти привилегии нашему новому пользователю, мы должны добавить пользователя в группу sudo. По умолчанию, в Ubuntu 20.04, пользователи, состоящие в группе sudo, имеют право использовать команду sudo
.
Как root, выполните эту команду, чтобы добавить вашего нового пользователя в группу sudo (замените выделенное имя пользователя на вашего нового пользователя):
Теперь, когда вы вошли под своим обычным пользователем, вы можете набирать sudo
перед командами, чтобы запускать их с правами суперпользователя.
Шаг 4 — Настройка базового брандмауэра
Серверы Ubuntu 20.04 могут использовать брандмауэр UFW, чтобы гарантировать, что разрешены только соединения к определенным службам. Мы можем настроить базовый брандмауэр с использованием этого приложения.
Примечание: Если ваши серверы работают на платформе DigitalOcean, вы можете по желанию использовать Облачные брандмауэры DigitalOcean вместо брандмауэра UFW. Мы рекомендуем использовать только один брандмауэр одновременно, чтобы избежать конфликтующих правил, которые могут быть сложными для отладки.
Приложения могут регистрировать свои профили с UFW при установке. Эти профили позволяют UFW управлять этими приложениями по имени. OpenSSH, служба, позволяющая нам подключаться к нашему серверу сейчас, имеет профиль, зарегистрированный в UFW.
Вы можете увидеть это, набрав:
OutputAvailable applications:
OpenSSH
Нам нужно убедиться, что брандмауэр разрешает соединения по SSH, чтобы мы могли войти в следующий раз. Мы можем разрешить эти соединения, набрав:
Затем мы можем включить брандмауэр, набрав:
Введите y
и нажмите ENTER
, чтобы продолжить. Вы можете видеть, что SSH-подключения все еще разрешены, набрав:
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Поскольку брандмауэр в настоящее время блокирует все соединения, кроме SSH, если вы устанавливаете и настраиваете дополнительные службы, вам нужно будет настроить параметры брандмауэра для разрешения трафика. Вы можете изучить некоторые общие операции UFW в нашем руководстве UFW Essentials.
Шаг 5 — Включение внешнего доступа для вашего обычного пользователя
Теперь, когда у нас есть обычный пользователь для ежедневного использования, мы должны убедиться, что мы можем входить в систему по SSH напрямую.
Примечание: До тех пор, пока вы не убедитесь, что можете войти и использовать sudo
с вашим новым пользователем, мы рекомендуем оставаться в системе под пользователем root. Таким образом, если у вас возникнут проблемы, вы сможете их устранить и внести любые необходимые изменения как root. Если вы используете Droplet от DigitalOcean и столкнулись с проблемами с SSH-подключением root, вы можете восстановить доступ к Droplet’ам, используя Консоль восстановления.
Процесс настройки доступа по SSH для вашего нового пользователя зависит от того, использует ли учетная запись root сервера пароль или ключи SSH для аутентификации.
Если учетная запись root использует аутентификацию по паролю
Если вы вошли в свою учетную запись root с использованием пароля, то аутентификация по паролю включена для SSH. Вы можете подключиться по SSH к своей новой учетной записи, открыв новую сессию терминала и используя SSH с вашим новым именем пользователя:
После ввода пароля вашего обычного пользователя вы будете вошли в систему. Помните, что если вам нужно выполнить команду с административными привилегиями, введите sudo
перед ней так:
Вам будет предложено ввести пароль вашего обычного пользователя при использовании sudo
в первый раз в каждой сессии (и периодически после этого).
Для улучшения безопасности вашего сервера мы настоятельно рекомендуем настроить SSH-ключи вместо использования аутентификации по паролю. Следуйте нашему руководству по настройке SSH-ключей в Ubuntu 20.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 не сможет найти и использовать их.
Теперь откройте новую сеанс терминала на вашем локальном компьютере и используйте SSH с вашим новым именем пользователя:
Вы должны войти в новую учетную запись пользователя без использования пароля. Помните, если вам нужно выполнить команду с правами администратора, введите sudo
перед ней, как здесь:
Вам будет предложено ввести пароль вашего обычного пользователя при использовании sudo
в первый раз в каждой сессии (и периодически после этого).
Куда идти дальше?
На этом этапе у вас есть прочный фундамент для вашего сервера. Теперь вы можете установить любое необходимое вам программное обеспечение на ваш сервер.
Source:
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-20-04