При создании нового сервера Ubuntu 18.04 необходимо выполнить ряд операций конфигурирования в рамках ранней стадии базовой настройки. Это повысит уровень безопасности и удобства использования вашего сервера, а также создаст прочную основу для дальнейших действий.
Примечание: Ниже представлено руководство по выполнению в ручном режиме всех рекомендуемых нами операций для новых серверов Ubuntu 18.04. Выполнение данной процедуры в ручном режиме позволит получить и отработать базовые навыки администрирования системы для полного понимания действий, осуществляемых на сервере. В качестве альтернативы, при необходимости более быстрого запуска и работы вы можете запустить наш скрипт первоначальной настройки сервера для автоматизации данных операций.
Для входа на сервер необходимо знать публичный IP-адрес сервера. Также понадобится пароль или, если для аутентификации установлен SSH-ключ, закрытый ключ для учетной записи пользователя root. Если вы еще не вошли на сервер, вы можете использовать инструкции из нашего руководства подключение к Droplet с помощью SSH, где содержится подробное описание процесса.
Если вы еще не подключены к серверу, войдите в систему под именем root, используя следующую команду (замените выделенную часть команды на публичный IP-адрес вашего сервера):
- ssh root@your_server_ip
Подтвердите предупреждение о подлинности хоста, если оно появится на экране. Если вы используете аутентификацию по паролю, укажите пароль учетной записи root для входа в систему. Если вы используете SSH-ключ, защищенный кодовой фразой, то при первом использовании ключа в каждом сеансе вам может быть предложено ввести кодовую фразу. Если вы впервые входите на сервер с помощью пароля, вам также может быть предложено сменить пароль root.
Пользователь root является администратором в среде Linux и имеет весьма широкие права. Ввиду расширенных прав учетной записи root не рекомендуется использовать ее на постоянной основе, поскольку некоторые права, предоставляемые учетной записи root, дают возможность вносить деструктивные изменения, в том числе случайно.
Следующим шагом является создание альтернативной учетной записи пользователя с меньшим влиянием на повседневную работу. Мы расскажем, как получить расширенные права, когда они вам потребуются.
После входа в систему под именем root мы готовы добавить новую учетную запись пользователя, которая теперь будет использоваться для входа в систему.
В этом примере показан процесс создания нового пользователя под именем sammy, которое следует заменить на желаемое имя пользователя:
- adduser sammy
Вам будут заданы несколько вопросов, начиная с пароля учетной записи.
Введите надежный пароль и, при желании, укажите дополнительную информацию. Если это не требуется, нажмите ENTER
в поле, которое вы хотите пропустить.
Теперь у нас есть новая учетная запись пользователя с правами обычной учетной записи. Однако иногда нам может потребоваться выполнение задач администратора.
Чтобы избежать необходимости выхода из учетной записи обычного пользователя и входа в систему под именем root, мы можем настроить так называемые права “superuser” или root для нашей обычной учетной записи. Это позволит обычному пользователю запускать команды с правами администратора путем добавления слова sudo
перед каждой командой.
Чтобы назначить данные права нашему новому пользователю, необходимо добавить нового пользователя в группу sudo. По умолчанию на сервере Ubuntu 18.04 пользователям группы sudo разрешается использовать команду sudo
.
Запустите данную команду под именем root, чтобы добавить нового пользователя в группу sudo (замените выделенное слово на имя нового пользователя):
- usermod -aG sudo sammy
Теперь после входа в систему в качестве обычного пользователя вы можете вводить sudo
перед командами для выполнения действий с правами superuser.
Серверы Ubuntu 18.04 могут использовать брандмауэр UFW, чтобы обеспечить возможность подключения только к определенным сервисам. Мы можем легко установить простой брандмауэр с помощью данного приложения.
Примечание: Если ваши серверы работают на DigitalOcean, вы можете использовать брандмауэры DigitalOcean Cloud Firewalls вместо UFW. Мы рекомендуем использовать только один брандмауэр, чтобы избежать трудноустранимых конфликтов.
Различные приложения могут регистрировать свои профили при установке UFW. Данные профили позволяют UFW управлять приложениями по имени. Сервис OpenSSH, позволяющий подключиться к нашему серверу, имеет зарегистрированный профиль в UFW.
Вы можете проверить это, набрав:
- ufw app list
OutputAvailable applications:
OpenSSH
Необходимо убедиться, что брандмауэр разрешает SSH-соединения, чтобы можно было войти в систему в следующий раз. Мы можем разрешить эти соединения путем ввода:
- ufw allow OpenSSH
Затем мы можем активировать брандмауэр путем ввода:
- ufw enable
Введите “y
” и нажмите ENTER
, чтобы продолжить. Можно увидеть, что SSH-соединения разрешены, путем ввода:
- ufw status
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Поскольку брандмауэр в настоящее время блокирует все подключения, кроме SSH, при установке и настройке дополнительных сервисов вам необходимо настроить параметры брандмауэра, чтобы разрешить соответствующий входящий трафик. Ознакомьтесь с общими операциями UFW в настоящем руководстве.
После создания обычного пользователя для повседневной работы необходимо убедиться, что мы можем использовать SSH непосредственно в учетной записи.
Примечание: До проверки возможности входа в систему и использования sudo
с новым пользователем мы рекомендуем оставаться в системе под именем root. В таком случае при появлении проблем их можно устранить и внести необходимые изменения под именем root. Если вы используете DigitalOcean Droplet и сталкиваетесь с проблемами с SSH-соединением root, вы можете зайти в систему Droplet, используя DigitalOcean Console.
Процесс настройки SSH-доступа для нового пользователя зависит от того, использует ли учетная запись root сервера пароль или SSH-ключи для аутентификации.
Если вы вошли в учетную запись root, используя пароль, значит, для SSH активирована аутентификация по паролю. Вы можете использовать SSH для своей новой учетной записи пользователя, открыв новый сеанс и используя SSH с новым именем пользователя:
- ssh sammy@your_server_ip
После ввода пароля обычного пользователя вы войдете в систему. Помните, что при необходимости запуска команды с административными правами, введите sudo
перед командой:
- 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 не сможет их найти и использовать.
- rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy
Теперь начните новый сеанс и используйте SSH с новым именем пользователя:
- ssh sammy@your_server_ip
Вы должны войти в учетную запись нового пользователя без пароля. Помните, что при необходимости запуска команды с административными правами, введите sudo
перед командой:
- sudo command_to_run
Вам будет предложено ввести пароль обычного пользователя при первом использовании sudo
в каждом сеансе (и периодически после этого).
На данный момент у вас есть прочная основа для вашего сервера. Теперь вы можете установить на сервер любое необходимое программное обеспечение.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
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!