После установки операционной системы и до начала ее активного использования нам необходимо выполнить некоторые важные шаги по ее начальной настройке.
Шаг 1 — удаленное подключение к системе
Для подключения к вашему серверу вам необходимо знать его IP адрес, а также иметь логин и пароль от учетной записи, или ключ аутентификации. В данном случае мы рассмотрим подключение, используя связку логина и пароля.
Осуществить подключение по SSH можно как используя командную строку вашего десктопа (под управлением практически любой операционной системы), так и через специальные SSH клиенты, как например PuTTY. Я, для примера, буду использовать терминал Windows 11.
Запустите терминал (командную строку) вашей операционной системы, выглядеть это будет примерно так

и введите следующую команду
ssh user_name@server_ip // user_name - имя пользователя для сервера, server_ip - IP адрес сервера
Я использую на сервере имя пользователя такое же как и в десктопной системе, поэтому могу просто ввести
ssh 192.168.56.101
Нажмите «Enter» и при первом подключении нам выйдет сообщение о том, что хост сгенерировал ключи «рукопожатий» для защиты подключения.

Примем их, введя в командную строку «yes» и нажав клавишу «Enter».
Далее нас попросят ввести пароль от учетной записи
user_name@ip_address's password:
Помним, что при вводе пароля курсор остается неподвижным и не отображает нам даже количество вводимых символов.
После успешного входа окно приветствия как и всегда отобразит нам информацию о версиях системы и ядра, настройки сетевых адаптеров, загруженность системы и время последнего входа в систему.

Так же мы видим, что у нас имеется 12 обновлений. Давайте их установим.
Шаг 2 — Root
Но, перед этим нам следует переключиться на учетную запись суперпользователя, root. Для этого необходимо ввести команду
$ sudo -i
Потребуется повторно ввести пароль от учетной записи.
После переключения на root, начальная строка консоли немного изменит свой вид. Если ранее в конце строки стоял символ ~$, то теперь ин изменится на ~#. Таким образом мы всегда будем помнить с какими правами у нас открыт терминал.
Далее по ходу статей в списках команд я всегда буду указывать символами, с какими правами требуется их выполнение.
~$ - простой пользователь
~# - суперпользователь root
И так, мы ввели команду «sudo -i», что же она сделала? Изначально, когда мы подключались к серверу — мы использовали имя пользователя, который не имеет права администрирования системы, но, нам же необходимо устанавливать программные пакеты и проводить настройку, для этого мы и переключились под root. Далее, все команды, которые мы будем вводить — будут автоматически выполняться с правами суперпользователя.
Шаг 3 — обновление системы
Проведем наконец обновление системы. Для этого мы будем использовать три команды, напишу их сразу одной строкой
~# apt update && apt upgrade -y && apt autoremove -y
Как вы видите, несколько команд могут быть записаны одной строкой. Это используется для ускорения и упрощения работы. Каждая команда отделена от последующей двойным символом «&». То есть у нас будут последовательно выполняться три команды: apt update — эта команда обновляет список пакетов и список обновлений в репозиториях, согласно настроек системы; apt upgrade — производит установку всех найденных обновлений; apt autoremove — автоматическое удаление мусора, неиспользуемых в системе пакетов; атрибут -y подтверждает, что мы действительно хотим установить все обновления. Если мы опустим атрибут -y, то в процессе установки нам необходимо будет каждый раз подтверждать наши действия. Попробуйте обновить систему без использования этого атрибута.
Сначала система проверит список пакетов в репозиториях, затем сверит версии и определит список необходимых для скачивания пакетов

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

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

Для выхода из системы в справами суперпользователя и возвращению к пользователю с обычными правами — просто введите команду
~# exit
Отступление о root
В *nix подобных системах считается дурным тоном постоянно находиться в системе под root, так как это может привести случайному краху системы в результате необдуманных действий. Поэтому, чтоб постоянно не переключаться на root и обратно, можно использовать команду sudo без атрибута -i, в начале каждой команды. Рассмотрим обновление системы из под простого пользователя
~$ sudo apt update
~$ sudo apt upgrade
~$ sudo apt autoremove
После первого использования sudo, система потребует ввода пароля. Затем система на какое-то время запомнит вас, и при исполнении следующих команд уже не будет его постоянно требовать ввод пароля.
Шаг 4 — Создание новых пользователей
Иногда в систему бывает необходимо добавить нового пользователя с определенными правами. Это может быть необходимо для некоторых приложений, или для того, чтоб на ваш сервер мог залогиниться новый юзер.
Добавление пользователя осуществляется простой коммандой
~# adduser new_user
Приведенная выше команда создаст в системе нового пользователя с именем «new_user«. Система попросит придумать и ввести пароль для нового пользователя, и еще ответить на пару вопросов о нём, такие как имя пользователя (не для входа в аккаунт, а просто как примечание к нему), телефон и прочую идентификацию, которую можно пропустить, просто нажав клавишу «Enter».
По умолчанию, новый пользователь не получает никаких специальных прав в системе. Он может работать только со своей папкой в файловой системе, которая находится в каталоге “/home/new_user/”. Такой пользователь не может выполнять действия, которые требуют прав администратора.
Для того, чтобы дать пользователю какие-либо привилегии — необходимо его добавить в соответствующую группу. Для примера мы добавим пользователя в группу суперпользователей «sudo«.
~# usermod -aG sudo new_user
Давайте разбираться! usermod — команда для управления пользователями и из правами. Она может принимать ряд аргументов, как например:
- -a — добавить пользователя в дополнительные группы из параметра -G, а не заменять им текущее значение;
- -G — указывает дополнительную группу для пользователя;
- -g — установить новую основную группу для пользователя, такая группа уже должна существовать, и все файлы в домашнем каталоге теперь будут принадлежать именно этой группе.
Мы просто добавляем его в группу sudo, а не перемещаем. Если переместить пользователя в sudo, все действия, которые он выполняет, будут происходить от имени суперпользователя. Это может привести к неприятным последствиям и даже краху системы. При этом основной для пользователя останется группа по умолчанию.
Посмотреть информацию о принадлежности пользователя к группам мы можем еще более простой командой
~$ id username
которая выведет нам и сам ID пользователя, и названия всех групп, в которые включен данный пользователь.

Шаг 5 — настройка файервола
Ubuntu Server может использовать брандмауэр UFW (Uncomplicated Firewall) для обеспечения безопасности в сети и отделения (изоляции) процессов от внешнего мира. Некоторые приложения после установки создают свои профили в UFW, с указанием условий, необходимых им для нормальной работы.
Для управления возможностями брандмауэра используется одноимённая команда — «ufw«, а для просмотра списка установленных профилей мы можем использовать команду
~# ufw app list

Как видите, приложение OpenSSH уже создало профиль в UFW. В этом профиле указан порт 22, который мы с вами уже используем для подключения к серверу, но, в данный момент брандмауэр у нас пока еще отключен.
Проверить статус UFW можно простой командой
~# ufw status
Результатом выполнения этой команды скорее всего станет ответ сервера «Status: inactive«, то есть файервол не в работе.
Давайте же включим его, но, перед этим мы разрешим внешнее подключение для OpenSSH, для этого мы введем команду
~# ufw allow OpenSSH
Получим в ответ что-то такое
root@ubuntuserver:~# ufw allow OpenSSH
Rules updated
Rules updated (v6)
root@ubuntuserver:~#
Давайте чуть-чуть разберемся. Для разрешения подключения к порту мы используем «allow«, в то время как для запрета будет использовано «deny». OpenSSH — это указание профиля, к которому мы применяем правило. После выполнения команды мы получаем ответ, что было обновлено правило для IPv4 и IPv6.
Теперь, когда мы сделали изменения, мы можем включить UFW командой «enable«
~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
система спросит нас, действительно ли мы хотим включить брандмауэр? Причина такой заботы в том, что если мы не разрешим заранее подключение к портам, указанным в профиле OpenSSH, то после включения файервола — мы потеряем соединение с сервером, и сможем его восстановить, только, имея к нему физический доступ.
Соглашаемся с тем, что мы можем потерять соединение (не можем, если мы сделали «ufw allow OpenSSH») и получаем сообщение, что «Firewall is active and enabled on system startup«, то есть, файервол запущен и включен в автозагрузку.
Всё, теперь наш сервер стал более безопасным. В дальнейшем мы еще не раз вернемся к теме UFW, а еще рассмотрим управление политиками сетевой безопасности через iptables, что тоже интересно и обязательно нам пригодиться.
Итоги
В этой короткой статье мы с вами научились подключаться удаленно к вашему серверу, на основе OS Ubuntu Server, выполнять команды от имени суперпользователя, обновлять систему, управлять пользователями и сделали начальную настройку файервола.
Конечно возможности приведенных команд намного выше, чем указано в данной статье, но, здесь мы изначально стремились только произвести начальную настройку сервера.
Добавить комментарий