Что нужно сделать после установки ubuntu server
Перейти к содержимому

Что нужно сделать после установки ubuntu server

  • автор:

Записки IT специалиста

Linux — начинающим. Установка и первоначальная настройка Ubuntu 22.04 LTS для сервера

  • Автор: Уваров А.С.
  • 09.10.2022

install-ubuntu-2204-lts-server-000.png

Ubuntu — один из самых популярных Linux дистрибутивов, широко применяющийся как в настольных системах, так и на серверах, а также в облаках и контейнерах. И, следует сказать, популярность эта вполне заслужена, долгое время Ubuntu шла в качестве более свежей и продвинутой версии Debian, но с некоторых пор идет своим путем, предлагая новые подходы и инструменты, но в тоже время сохраняя совместимость с родительским дистрибутивом. В данной статье мы пошагово рассмотрим установку и первоначальную настройку серверного дистрибутива Ubuntu 22.04 LTS.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Сразу отметим, никакого принципиального различия между серверной и настольной версиями Ubuntu давно уже нет, обе системы используют общую пакетную базу, но установщики у них разные. Настольная версия безальтернативно устанавливается в графическом режиме и ставит графическую оболочку, в то время как серверная имеет свой уникальный инсталлятор текстового режима Subiquity, который заменил использовавшийся ранее debian-installer.

Впервые Subiquity был представлен в выпуске 18.04 LTS, но только в качестве альтернативы, так как еще не поддерживал многие возможности, например, нельзя было создать программный RAID. К выпуску 20.04 LTS основные детские болезни были исправлены и Subiquity стал единственным инсталлятором серверного выпуска.

Начало установки

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

install-ubuntu-2204-lts-server-001.png

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

install-ubuntu-2204-lts-server-002.png

А вот раскладку клавиатуры по умолчанию мы советуем оставить английской, при этом русская будет добавлена автоматически и переключаться на нее вы сможете при помощи стандартного сочетания Alt + Shift .

install-ubuntu-2204-lts-server-003.png

Следующим шагом нас спросят, а что именно мы хотим установить. Доступны два варианта: Ubuntu Server и Ubuntu Server (minimized), второй вариант предусматривает использование в контейнерах и виртуальных машинах, не подразумевающих интерактивный вход и ручное управление. Это значит, что в такой системе отсутствуют утилиты ручного управления и если вы все-таки захотите администрировать ее руками, то вам придется развернуть ее до уровня Ubuntu Server. Поэтому установка minimized-версии для интерактивной настройки является бессмысленной.

install-ubuntu-2204-lts-server-004.png

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

install-ubuntu-2204-lts-server-006.png

Если же нам нужен статический IP-адрес, то мы можем настроить его прямо сейчас, для этого переходим к нужному сетевому интерфейсу и выбираем в настройках Edit IPv4, при этом можно обратить внимание на достаточно широкие возможности настройки сети, тут и объединение адаптеров через Bonding и VLAN-теги, но это уже выходит за рамки данной статьи.

install-ubuntu-2204-lts-server-007.png

Настройка сети также немного отличается от привычной, так как в первом поле мы должны указать подсеть (Subnet) в формате 192.168.233.0/24, где префикс /24 соответствует маске сети 255.255.255.0, остальные настройки не должны вызвать особых затруднений.

install-ubuntu-2204-lts-server-008.png

При этом, как мы уже говорили выше, на самом деле, при наличии такой возможности, сеть с получением параметров по DHCP инициализируется задолго до появления этого экрана, в момент запуска инсталлятора, здесь же просто дают возможность пользователю подтвердить или изменить сетевые настройки.

Разметка дискового пространства

Без преувеличения, разметка диска — самый важный этап установки системы, потому как с принятыми на данном этапе решениями вам придется жить все оставшееся время и не все из них можно будет впоследствии исправить без переустановки. Сегодня основной является схема «все файлы в одном разделе» и если вы не знаете как именно разметить диск, то следуйте ей. Также Ubuntu не использует раздел подкачки, создавая для этого файл в корне файловой системы, никакой существенной разницы с разделом подкачки у такого подхода нет, но в целом это удобнее. Выбор файловой системы также сводится к одному простому правилу, если вы не знаете какая именно файловая система вам нужна и для чего — выбирайте стандартную ext4.

Автоматическая разметка

Если у вас нет каких-то особых соображений, то использование автоматической разметки будет самым оптимальным вариантом, посмотрим, что предлагает нам Ubuntu в тех или иных сценариях. А вариантов не особо много: использовать весь диск и настроить диск как группу LVM, также можно отдельно включить шифрование LVM тома. В целом набор возможностей повторяют таковые в debian-installer, но выстроены более грамотно, в порядки иерархии применения. Пока что снимем флаг Set up this disk as an LVM group и посмотрим на самый простой вариант разметки.

install-ubuntu-2204-lts-server-009.png

В этом случае будет автоматически размечен ESP раздел размером 953 МБ (для систем с UEFI) и ext4 на весь оставшийся размер диска.

install-ubuntu-2204-lts-server-010.png

Никаких сюрпризов и неожиданностей здесь нет, все просто и ожидаемо.

Автоматическая разметка с LVM

Вариант, предлагаемый по умолчанию и, казалось бы, никаких сложностей возникнуть не должно, но давайте внимательно изучим предлагаемую разметку. Прежде всего у нас кроме ESP раздела появился отдельный /boot размером 1,77 ГБ, так как загрузочный раздел должен располагаться за пределами LVM разметки. На оставшемся месте создана группа томов ubuntu-vg, внутри которой создается логический том ubutnu-lv, только вот его размер не соответствует размеру группы томов, в которой остается свободное место.

install-ubuntu-2204-lts-server-011.png

Если не обратить на это внимание и оставить все как есть, то при эксплуатации вы можете столкнуться с неприятной ситуацией, когда место неожиданно закончится. Поэтом сразу исправим разметку, для этого перейдите к логическому тому и в меню выберите Edit.

install-ubuntu-2204-lts-server-012.png

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

install-ubuntu-2204-lts-server-013.png

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

Тот, кому нужны снимки вряд-ли будет размечать диск автоматически, а тот, кто выбирает автомат рассчитывает на понятное поведение установщика. Если у нас указано использовать весь диск (Use an entire disk), то и размечать нужно все пространство полностью, а LVM впоследствии поможет нам более гибко управлять дисковым пространством. А текущий сценарий кроме недоумений и вопросов ничего предложить не может.

Настройка программного RAID

Настройка программного RAID в новом установщике Ubuntu достаточно серьезно отличается от настройки в debian-installer и может вызвать затруднения даже у опытного пользователя. Начнем с того, что пометим первый диск как загрузочный, для этого в меню диска следует выбрать Use As Boot Device.

install-ubuntu-2204-lts-server-014.png

Для UEFI систем будет автоматически создан ESP-раздел, создать такой раздел руками в Subiquity невозможно, затем проделываем ту же операцию со вторым диском, выбрав в его меню Add As Another Boot Device. После чего там будет создан второй ESP-раздел. Также это обеспечит установку загрузчика сразу на оба диска.

install-ubuntu-2204-lts-server-015.png

Затем переходим к свободному пространству (free space) на дисках и создаем там раздел (или разделы) нужного размера, важное условие — в поле Format обязательно ставим Leave unformatted. Если в поле Size ничего не указывать, то будет создан раздел максимального размера. Аналогичные действия выполняем и для другого диска. Помним, что одно md-устройство — это один раздел.

install-ubuntu-2204-lts-server-016.png

После того как вы создали на обоих дисках одинаковые неформатированные разделы переходим в пункт Create software RAID (md), где указываем желаемый уровень RAID — в нашем случае зеркало — и выбираем используемые для него разделы.

install-ubuntu-2204-lts-server-017.png

После этого среди доступных дисковых устройств у нас появится md-устройство программного RAID, на свободном месте которого создаем новый раздел, где указываем файловую систему и точку монтирования (для системного раздела — /).

install-ubuntu-2204-lts-server-018.png

Для систем с UEFI данные действия только часть настройки, которую нужно продолжить после установки системы, более подробно об этом читайте в нашей статье:

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

Завершение установки

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

install-ubuntu-2204-lts-server-020.png

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

install-ubuntu-2204-lts-server-021.png

Затем можно будет выбрать предустановленное ПО, но так как мы делаем минимальную установку, то пропускаем этот этап. Хотя, если вы поднимаете целевой сервер, то можете сразу выбрать необходимые вам роли.

install-ubuntu-2204-lts-server-022.png

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

install-ubuntu-2204-lts-server-023.png

На этом процесс установки завершен, вам останется только перезагрузить компьютер.

Вход в систему, повышение прав

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

В Ubuntu учетная запись суперпользователя root отключена и административные права получает пользователь, созданный на этапе установки. Отдельные команды, требующие повышения прав можно выполнять через sudo, для долговременного повышения прав используйте:

Ключ -s открывает новую командную оболочку как бы при интерактивном входе суперпользователя в систему, при этом изменится домашний каталог и переменные окружения, которые будут соответствовать пользователю root.

Если же вам по какой-либо причине требуется включить учетную запись суперпользователя, то это можно сделать, установив для нее пароль:

Однако не следует этого делать без реальной на то необходимости, так как применяемая в Ubuntu модель является более безопасной.

Настройка часового пояса

Инсталлятор Subiquity не предусматривает настройку часового пояса и после установки ваш сервер будет жить по времени Гринвичского меридиана, чтобы убедиться в этом выполните команду:

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

Затем в интерактивном режиме выберите свой часовой пояс.

install-ubuntu-2204-lts-server-024.png

Все изменения будут применены сразу.

Настройка сети

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

Все сетевые настройки хранятся в файле /etc/netplan/00-installer-config.yaml, если вы выбрали динамическую настройку сети, то там будет примерно следующее содержимое:

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

install-ubuntu-2204-lts-server-025.png

Для установки статического IP-адреса внесите в файл приведенные ниже настройки:

Особых комментариев здесь не требуется, для записи IP-адреса используется запись вида адрес/префикс, что позволяет отдельно не указывать маску, а DNS сервера (nameservers) можно перечислить через запятую.

А вот дальше становится интереснее, чтобы проверить конфигурацию выполните:

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

Если же все нормально, то просто примените настройки командой:

Одной только этой возможности уже достаточно, чтобы начать любить netplan, если вы не сделали этого ранее.

Настройка брандмауэра iptables

В отличие от Debian 11 в Ubuntu 22.04 LTS по-прежнему присутствует iptables, точнее nftables в режиме совместимости. И это во многом оправдано, новый межсетевой экран неплох, но на его внедрение нужно время, тогда как для iptables существует множество готовых инструкций и решений. Ниже мы набросаем минимальную конфигурацию брандмауэра и настроим ее автоматическое восстановление.

В консоли последовательно выполните команды:

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

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

install-ubuntu-2204-lts-server-026.png

В последствии правила удобнее править в файле /etc/iptables/rules.v4. При этом следует обязательно придерживаться следующих правил: первыми в цепочке идут два правила, выделенные желтым, последним обязательно должно быть правило, выделенное красным. Все остальные следует располагать между ними.

install-ubuntu-2204-lts-server-027.png

Сохраняем файл и перечитываем правила:

Мы советуем не пренебрегать настройкой брандмауэра даже если сервер полностью находится во внутреннем периметре.

Подключаем Ubuntu Advantage

Ubuntu Advantage (UA) — это сервисный пакет от компании Canonical для пользователей Ubuntu, включает коммерческую поддержку и ряд расширенных сервисов направленных на повышение управляемости и безопасности ваших систем. Для личного и некоммерческого использования предоставляется бесплатный пакет на 5 ПК.

Наиболее интересными сервисами в пакете являются:

  • Extended Security Maintenance (ESM) — предоставляет обновления безопасности для всех бинарных пакетов находящихся в основном репозитории Ubuntu в течении дополнительных 5 лет, таким образом продлевая общий срок поддержки систем до 10 лет.
  • Livepatch — в буквальном переводе «живой патч» — еще один крайне полезный сервис, дает возможность устанавливать обновления безопасности ядра Linux без перезагрузки системы.

И если ESM не факт, что нам понадобится, то вот Livepatch будет весьма ко двору. Мы не будем рассматривать все подробности подключения и использования данной программы, об этом можно прочитать в нашей статье:

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

где <subscription token> — полученный в рамках программы токен подписки.

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

install-ubuntu-2204-lts-server-028.png

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

Заключение

В данной статье мы постарались коротко, но емко изложить все основные действия, которые помогут вам освоить новый инсталлятор Subiquity и установить с его помощью серверный вариант Ubuntu 22.04 LTS, а также выполнить его первоначальную настройку. Также в статье присутствуют ссылки на иные наши материалы, позволяющие существенно расширить отдельные темы, рекомендуем обязательно ознакомиться с ними.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Дополнительные материалы:

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал

Мой первый опыт с Linux. Настройка Ubuntu Sever 20.04, подключения по SSH и удаленное подключение к базе данных

Всем привет, это моя первая статья на Хабре (да и первая в принципе). Я не в коем случае не претендую сейчас на звание специалиста и т.п. В общем, как и понятно из названия это мой первый опыт, так что, конечно, будут и ошибки. Я рад любой критике. Это статья нужна так же в основном и мне, для того, чтобы научиться писать статьи, так как скоро дипломная, а это как не как опыт(хотя и немного не то) была в случае чего шпаргалка и мне не приходилось бы снова искать по всему интернету всю эту информацию. Ну со вступлением все.

Начну с того, что скажу зачем мне вообще это понадобилось. А все просто, интересно. Я захотел создать десктопное приложение с базой данных, но я так уже делал и я захотел немного усложнить задачу, так как мне, в случае успеха, придется устанавливать эту программу для корпоративных целей, то базу данных надо переместить на сервер. Так что я взял старенький ноутбук и решил из него попробовать сделать сервер для базы данных. И столкнулся со множеством проблем, решение которых заняло у меня дня так три(если не учитывать то время, которое я пытался провозиться еще и с VirtualBox дня 2), хотя для некоторых может это и будет казаться легкотней, но для меня это было интересно и познавательно, ладно, начнем.

Установка Ubuntu Server.

Процесс установки Ubuntu Server, легко найти в интернете, например https://info-comp.ru/drugieopersistemi/644-install-linux-ubuntu-server-18-04.html. Хоть Ubuntu Server там и 18.04 я думаю эту руководство подойдет и для версии 20.04.

Настройка сети.

Ну перейдем к теме настройки сети. Цель настроить wifi. В интернете полно руководств по настройки проводного подключения, но мне так и не удалось найти руководство по настройке wifi, после которого бы у меня он заработал. wifi мне нужен в основном для того, чтобы во время разработки не быть привязанным к проводной сети. Но для того, чтобы его настроить все таки сначала понадобится проводная сеть. В принципе по умолчанию для проводной сети ip адрес определяется по DHCP, так что достаточно просто вставить Enternet-кабель и интернет заработает. Если это не так, то моя статья по этому поводу не поможет(уж извините). Дальше нам понадобится установить пакет net-tools. Для этого выполните команду:

Теперь нам надо узнать названия сетевых интерфейсов. Для этого выполним следующую команду

Нас интересует интерфейс wlp2s0 у вас он может называть по другому, например wlan0. Он отвечает за беспроводное соединение. Теперь, когда мы узнали название сетевого интерфейса, можем переходить к настройке wifi. Мои проблемы с настройкой wifi были лишь из-за того, что в версиях Ubuntu Server, начиная с 18.04 настройка сети происходит с помощью утилиты Netplan. Конечно в сети полно информации про нее и как ей пользоваться, мне например очень помогла статья https://fomich0ff.github.io/2019/05/05/wifi-on-rpi-ubuntu-server/. Тут все очень кратко расписано. Но даже после этих статей у меня так и не заработал wifi. Ну начнем. Для начало надо попасть в файл конфигурации, для этого набираем команду:

Появиться окно с настройками. Далее я приведу уже свои настройки(естественно скрыв SSID и password).

Для проверки нашего конфигурационного файла вводим команду:

И для того, чтобы настройки вступили в силу, вводим команду:

Но это еще не все, даже после таких действий у меня так и не заработал wifi. Нам надо скачать еще один пакет, который называется wpasupplicant, он позволяет работать с сетями, которые имеют метод шифрования WPA, WPA2 и т.д. Может это все и выглядит банально, но у меня ушло много времени, чтобы найти ошибку. Вводим следующую команду:

После этого у меня сразу заработал wifi(если не заработал, то можно попробовать перезагрузить систему). Теперь, когда появился wifi, можно перейти к настройке ssh.

Настройка SSH

Настроим конфигурационный файл, для этого выполним команду:

Откроется примерно такой файл:

# — закомментированные поля. Описание всех полей можно найти в интернете. Я лично раскомментировал следующие:

Port — по умолчанию идет 22, но для безопасности лучше поменять, я поставил 2023.

Protocol — протокол SSH. Первый протокол плохо защищен, так что ставим 2.

PermitRootLogin — если поля имеет значение no, то при подключение через SSH невозможно будет войти за root.

PubkeyAuthentication — разрешает/запрещает входить по публичному ключу(расм. далее)

AuthorizedKeysFile — показывает файлы с публичными ключами

PasswordAuthentication — если поле имеет значение yes, то возможно будет войти с помощью пароля пользователя, иначе можно будет войти только по ключу(если PubkeyAuthentication yes)

Все остальные поля я оставил как они и были(там были и другие раскомментированные поля)

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

Дальше во всех статьях, которые мне попадались, говорили, что можно смело подключаться по SSH, но как я не пытался в ответ я получал только connection refused(соединение отклонено). Кстати, чтобы подключиться необходимо ввести команду:

port — порт подключения, в моем случае 2023

username — имя пользователя(в моем случае vavilonbase, например)

hostname — имя хоста(к этому вернемся далее)

В качестве hostname я сначала использовал localhost, но все мои попытки не увенчались успехом, я долго мучался с этим подключение, пока наконец не нашел ответ, а именно, то что у меня были закрыты порты на роутере, открыть их мне помогла статья https://lumpics.ru/how-to-open-ports-on-router/.

Я лишь покажу конечный результат переадресации портов:

После этого у меня все заработало. Теперь, в моем случае, для подключения по ssh нужно ввести команду:

И после этого ввести пароль, все готово.

При первом подключение может возникнуть сообщение:

Картинка с сайта: https://losst.ru/kak-podklyuchitsya-po-ssh

Здесь надо написать yes и нажать Enter.

SSH-ключ

Входит по паролю конечно хорошо, но еще лучше входить без пароля, но защищено, а именно по SSH ключу. В интернете полно руководств как сгенерировать SSH-ключ на Linux и перебросить его на ubuntu-server, например эта статья: https://losst.ru/avtorizatsiya-po-klyuchu-ssh

Но в интернете мне было сложно найти точное описание как же это сделать в Windows(а у меня основная машина WIndows). Так что я покажу все это на примере WIndows. Начнем.

Для начало надо установить на Windows клиент OpenSSH(кстати, его же надо установить и для подключения по ssh по паролю).

Для этого надо сделать все как на картинках:

В этой вкладке смотрим, если ли клиент OpenSSH

Если нет такого клиента, то жмем добавить компонент, находим клиент OpenSSH и устанавливаем его.

Теперь, когда у нас есть клиент OpenSSH перейдем к генерации ключа.

Для генерации ключа вводим в терминале Windows команду:

Дальше вас спросят следующие данные:

Куда сохранять эти ключи, обычно меняют путь, который предлагается по умолчанию(если хотите оставить путь по умолчанию, просто нажмите Enter)

Дальше, в случае, если вы уже генерировали ключи, спросят хотите ли вы их перезаписать

Потом попросят ввести фразу и повторить ее. Это нужно для дополнительной защите, это фразу вы будете вводить каждый раз при подключение по SSH, чтобы не вводить ее, нужно просто нажать Enter ничего не вводя.

Все ключ сгенерирован, дальше то с чем у меня по началу возникали проблемы. А именно, для клиента OpenSSH Windows нет команды sshcopyid, благодаря которой происходила отправка ключа на сервер в WIndows. Я лично использовал для этих целей команду scp.

Теперь, что нужно, чтобы ее использовать, если в случае команды sshcopyid она автоматически создавала все нужные файлы на сервере, то сейчас нам придется создать их вручную. Для этого заходим на сервер и вводим следующую команду:

То есть создаем папку .ssh(если она еще не создана)

Теперь надо отправить наш публичный ключ на сервер, для этого выясним адрес публичного ключа, он был показан во время его генерации:

Теперь выполним следующую команду:

Посмотрим, что здесь что:

-P — стоит заметить, что P — большая, это важно, тут мы вводим порт.

Дальше идет адрес публичного ключа в Windows(где его взять см. выше)

Дальше идет имя пользователя и имя хоста(прямо как при подключение по SSH), после этого идет двоеточие и папка куда надо отправить этот ключ на сервере(в ту самую папку, которую мы создали).

Но это отнюдь не все, если вспомнить, то когда мы настраивали sshdconfig, то мы как раз таки указывали какие файлы у нас отвечают за ключ, а именно

/.ssh/authorizedkeys, то есть нам надо переименовать файл. Переходим на сервер и вводим следующие команды:

Все готово. Пробуем войти и радуемся.

Настройка БД

Ну перейдем к тому, для чего все это и было затеяно. В качестве БД у меня PostgreSQL.

Для установки БД можно воспользоваться этой статьей: https://losst.ru/ustanovka-postgresql-ubuntu-16-04. Дальше создадим пользователя app и тестовую базу данных appdb. Выполним команды:

Когда база данных создана, хотелось бы подключится к ней с другого компьютера, для этого настроим конфигурационные файлы postgresql.conf и pg_hba.conf. Для их редактирования выполним команды:

В первом файле нужно отредактировать следующие параметры:

listen_addresses = ‘localhost’ поменять на listen_addresses = ‘*’ и для безопасности изменить порт по умолчанию(5432).

Во втором файле необходимо изменить следующую строку(см. картинку)

А именно адрес в ней, в моем случае у меня адрес компьютера статический и я могу записать его сюда. Вы так же можете сделать его статическим(см. статью про открытие портов, там до переадресации делали адрес сервера статическим). То есть здесь мы указываем адреса, который могут подключится к базе данных, в случае, если такой не один, просто копируем всю строку и меняем адрес на новый. После этого перезагружаем сервер postgresql. Выполним команду:

Попробуем подключиться к базе данных через небольшое приложение на C#.

То есть тут мы запрашиваем у сервера его версию, получаем следующий ответ:

Как видно сервер вернул ответ с версией, а значит все настроено верно.

Ну на этом все. Как я и сказал, я в Linux полный новичок, так что если есть какие-либо советы я только рад. Это статья служит скорее как шпаргалка мне, так как мне это и правда был интересный опыт и я бы хотел запечатлить его в виде такой вот статьи. Спасибо всем за внимание.

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

После установки Ubuntu Server на виртуальную машину и перед переходом к инсталляции Zimbra систему необходимо настроить. Но на самом деле все основные настройки происходят как раз в процессе работы, так что в этот пост я вынес только явные и первоначальные изменения, которые следует произвести в свежеустановленной ОС.

Настройка сетевых интерфейсов

Обычно Ubuntu Server при установке корректно подхватывает настройки сетевых интерфейсов и даже автоматически подключает систему к интернету. Но иногда приходится прописывать настройки вручную. Для этого наберите команду:
sudo nano /etc/network/interfaces

Вручную прописываем настройки (enp0s3 — имя сетевого интерфейса, например eth0):
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto enp0s3
iface enp0s3 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 192.168.1.1

Выходим из текстового редактора (Ctrl+X) и перезагружаем сетевые настройки:
sudo /etc/init.d/networking reload
Перезагружаем сеть:
sudo /etc/init.d/networking restart

Обновление системы

Перед дальнейшей настройкой выполним полное обновление системы:
sudo apt-get update && sudo apt-get dist-upgrade -y

Перезагружаем виртуальную машину:
sudo reboot

Midnight Commander

Для удобной работы с файловой системой установим программу Midnight Commander с классическим двухоконным интерфейсом:
sudo apt-get install mc

Начальная настройка сервера с помощью Ubuntu 20.04

Начальная настройка сервера с помощью Ubuntu 20.04

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

Шаг 1 — Вход с привилегиями root

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

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

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

Подробнее о root

root user — это пользователь с правами администратора в среде 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.

Чтобы увидеть это, можно ввести следующую команду:

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

После этого мы можем активировать брандмауэр с помощью следующей команды:

Введите y и нажмите ENTER , чтобы продолжить. Чтобы увидеть, что подключения SSH разрешены, введите следующее:

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

Шаг 5 — Активация внешнего доступа для стандартного пользователя

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

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

Процесс настройки доступа 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 user, сохранит разрешения и изменит владельцев файлов, все в одной команде. Обязательно измените выделенные ниже части согласно имени вашего стандартного пользователя:

Примечание. Команда rsync использует источники и пункты назначения, оканчивающиеся на завершающий слеш, иначе, чем те, которые этот завершающий слеш не имеют. При использовании rsync ниже убедитесь, что директория источника (

/.ssh ) не включает завершающий слеш (убедитесь, что вы не используете

Если вы случайно добавите в команду завершающий слеш, rsync будет копировать содержимое директории

/.ssh учетной записи root в домашнюю директорию пользователя sudo вместо копирования всей структуры директории

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

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

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

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

И что теперь?

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *