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