Начальная настройка сервера Ubuntu 18.04
Создав сервер Ubuntu 18.04, необходимо выполнить его начальную настройку. Это повысит защиту и юзабилити нового сервера, а также обеспечит надёжную платформу для дальнейшей работы.
Примечание: Этот мануал показывает, как вручную выполнить настройку новых серверов Ubuntu 18.04. После этой процедуры может быть полезно изучить некоторые базовые навыки администрирования системы, чтобы лучше понимать, как работает сервер. Если вы хотите быстрее начать работу, вы можете использовать сценарий, который автоматизирует настройку сервера.
1: Логин root
Для подключения к серверу вам понадобится его внешний IP-адрес. Кроме того, нужно знать пароль или иметь закрытый ключ (в случае использования аутентификации на основе SSH-ключей) администратора – пользователя root.
Чтобы войти как пользователь root, используйте команду:
На данном этапе может появиться предупреждение о подлинности хоста; примите его и предоставьте учётные root. Если вы используете SSH-ключи, защищенные парольной фразой, вам нужно будет ввести эту фразу сейчас. При первом подключении к серверу вам также будет предложено изменить root-пароль.
Что такое root?
Пользователь root является администратором среды Linux и обладает максимальными правами. Именно из-за широких привилегий аккаунта root использовать его для рутинной работы крайне небезопасно – так можно случайно нанести системе непоправимый вред.
Потому для постоянной работы в окружении Linux используется специально созданный аккаунт с расширенными привилегиями – доступом к команде sudo, о которой можно прочитать далее в этом руководстве.
2: Создание нового пользователя
Войдя в систему как root пользователь, создайте новый аккаунт для постоянной работы с сервером. Запустите:
Примечание: Замените условное имя 8host именем своего пользователя.
После запуска команды вам будет предложено предоставить информацию о пользователе.
Установите надёжный пароль и при желании укажите дополнительную информацию. Чтобы принять информацию по умолчанию, просто нажмите Enter.
3: Доступ к sudo
Итак, теперь у вас есть новый пользователь с обычными правами. Однако для управления сервером таких привилегий недостаточно.
Чтобы иметь возможность выполнять задачи администратора в сессии нового пользователя, передайте ему права суперпользователя. Для этого нужно открыть ему доступ к использованию команды sudo.
В Ubuntu 18.04 доступ к этой команде по умолчанию есть у всех пользователей, которые входят в группу sudo. Чтобы добавить нового пользователя в эту группу, запустите следующую команду в сессии пользователя root:
Теперь новый пользователь имеет права суперпользователя.
4: Настройка брандмауэра
Серверы Ubuntu 18.04 могут использовать брандмауэр UFW для блокирования соединений с отдельными сервисами.
Различные приложения могут при установке зарегистрировать свой профиль в UFW. Такие профили позволяют UFW управлять этими приложениями по имени. OpenSSH (сервис, который позволяет подключаться к серверу) имеет свой профиль, зарегистрированный в UFW.
Чтобы просмотреть его, введите:
ufw app list
Available applications:
OpenSSH
Теперь нужно разрешить SSH-соединения, чтобы иметь возможность подключиться к серверу в следующий раз. Для этого введите:
После этого можно включить брандмауэр:
Чтобы продолжить, нажмите у и Enter. Чтобы убедиться в том, что соединения SSH не блокируются брандмауэром, введите:
Если вы установили и настроили дополнительные сервисы, вам необходимо откорректировать настройки брандмауэра, чтобы он не блокировал трафик этих сервисов.
5: Доступ к новому пользователю
Теперь, когда у вас есть обычный пользователь для ежедневной работы, нужно убедиться, что вы можем использовать SSH непосредственно в учетной записи.
Примечание: Пока вы не убедитесь, что можете войти в систему и использовать sudo в сессии своего нового пользователя, мы рекомендуем оставаться в системе как пользователь root. Таким образом, если у вас возникнут проблемы, вы сможете устранить неполадки и внести необходимые изменения с правами root.
Процесс настройки SSH-доступа для вашего нового пользователя зависит от того, что использует ваша учетная запись root для аутентификации – пароль или SSH-ключи.
Парольная аутентификация
Если вы вошли в свою учетную запись root, указав пароль, значит, SSH поддерживает парольную аутентификацию. Вы можете подключиться по SSH к новому пользователю, открыв новую сессию терминала и используя SSH с именем нового пользователя:
Введите пароль пользователя, после этого вы войдете в систему. Помните, что если вам нужно запустить команду с правами администратора, вам нужно для этого добавить sudo:
При первом запуске sudo в каждом сеансе (и периодически при запуске разных команд) вам будет предложено ввести пароль текущего пользователя.
Чтобы повысить безопасность сервера, вместо парольной аутентификации мы настоятельно рекомендуем настроить SSH-ключи. Следуйте инструкциям в мануале Установка SSH-ключей в Ubuntu 18.04.
Аутентификация на основе SSH-ключей
Если вы вошли в учетную запись root с помощью SSH-ключей, аутентификация по паролю отключена. Вам нужно будет добавить копию открытого ключа в файл
/.ssh/authorized_keys нового пользователя для дальнейшего доступа к системе.
Поскольку ваш открытый ключ уже находится на сервере в файле пользователя root,
/.ssh/authorized_keys, вы можете скопировать эту структуру файлов и каталогов в новую учетную запись пользователя в текущем сеансе.
Откройте терминал и создайте новое соединение SSH:
Вы должны войти в новую учетную запись пользователя без пароля. Помните, чтобы запустить команду с правами администратора, нужно ввести sudo перед ней:
При первом запуске sudo в каждом сеансе (и периодически при запуске разных команд) вам будет предложено ввести пароль текущего пользователя.
Заключение
Теперь сервер полностью настроен и готов к работе и развёртыванию приложений.
Источник
Начальная настройка Ubuntu Server 20.04 LTS после установки
Содержание:
Базовая настройка Ubuntu Server 20.04 после установки.
Подключаемся к серверу:
Учётная запись root
По умолчанию пароль для root не установлен в Ubuntu 20.04, мы видим сообщение об ошибке:
Можем убедится в том, что пароль для root пустой:
Так устроено в целях безопасности. Например, вы можете забыть что работаете от имени суперпользователя и удалить какие-либо важные вещи. Разработчики Ubuntu это учли и вообще отключили аккаунт суперпользователя.
Если всё же нужно авторизоваться от имени суперпользователя, необходимо установить для него пароль:
Затем нужно ввести два раза пароль. Проверим снова:
Важно! На рабочих серверах не делайте так. Так можно делать только на домашней машине для удобства.
Создание нового пользователя с административными правами
Добавляем в систему нового пользователя и предоставляем ему права администратора.
Система задаст несколько вопросов. Сначала она предложит ввести пароль для этой учетной записи.
Проверим добавился ли пользователь john :
Добавляем нового пользователя в группу sudo :
Сменим пользователя и проверим его права:
Чтобы повысить уровень безопасности вашего сервера, мы настоятельно рекомендуем настроить ключи SSH вместо использования аутентификации по паролю. Мы это сделаем чуть позже, а пока настроим брандмауэр (фаервол) для корректной работы SSH-соединений.
Настройка брандмауэра
Различные приложения могут при установке зарегистрировать свой профиль в UFW. Такие профили позволяют UFW управлять этими приложениями по имени. OpenSSH (сервис, который позволяет подключаться к серверу) имеет свой профиль, зарегистрированный в UFW.
Разрешим SSH-соединения, чтобы иметь возможность подключиться в следующий раз:
И опять проверяем статус:
Теперь можно настроить аутентификацию на основе SSH-ключей.
Аутентификация пользователя на основе SSH-ключей
Этот шаг не обязателен, но он значительно повысит безопасность вашего сервера. Поэтому, рекомендуем его не пропускать.
Для начала сгенерируем SSH ключ с помощью команды (не забудьте отключиться от сервера, команду запускаем на локальной машине!):
Путь для расположения ключа можно оставить стандартным. Можно придумать и ввести passphrase (секретная фраза). Или же просто оставить всё по умолчанию, нажимая Enter :
Теперь этот ключ нужно скопировать на сервер. В Windows придётся копировать ключ вручную. Займёмся этим.
Подключаемся к серверу:
Если вы находитесь в другой директории, то перейдем в нужную нам с помощью команды:
Проверить создание директории и просмотреть структуру текущей директории:
Установим права для этой папки:
Перейдем в эту папку:
Создадим файл authorized_keys в этой директории:
Установим права для этого файла:
Курсор передвинется на новою строку в ожидании ввода данных от вас:
Вставляем ключ, который скопировали из файла id_rsa.pub и вводим команду:
Теперь при подключении к серверу по SSH, пароль для подключения запрашиваться не будет.
Редактируем конфиг SSH
Откроем для редактирования конфигурационный файл SSH:
В самом конце файла с новой строчки вставим команду:
Сохраняем файл и выходим из редактора. Перезапускаем SSH:
Теперь если попытаться авторизоваться под root или каким-либо другим пользователем, то сервер выдаст ошибку доступа.
На этом начальная настройка Ubuntu Server 20.04 завершена. В следующей заметке установим стек LAMP.
Источник
Настройка Ubuntu Server
Введение
После того, как вы установили Ubuntu Server 16.04 LTS, необходимо сделать несколько простых шагов для первоначальной настройки. Это сделает дальнейшую работу на сервере более удобной, а так же сделает сервер более безопасным.
Подключение от имени root
Первым делом, вам нужно подключиться к серверу по SSH от имени root.
Откройте терминал и выполните команду:
При успешном подключении вы увидите приветствие и краткие сведения о системе.
Создание пользователя
Так как постоянное использование учетной записи root не безопасно, то следующее, что вам нужно будет сделать – добавить нового пользователя и дать ему root привилегии.
Создадите нового пользователя. В данном примере создается пользователь с именем joe. Можете заменить его на любое другое.
Придумайте пароль, а так же можете указать дополнительную информацию, как, например, настоящее имя.
Далее добавьте пользователя в группу sudo, чтобы он мог выполнять действия с привилегиями root:
Теперь для дальнейшей работы, вы уже можете использовать новую учетную запись.
Выполните следующую команду, чтобы переключиться на нового пользователя:
Генерация SSH ключа
На данном этапе вам нужно будет сгенерировать SSH ключ. Ключ состоит из 2 файлов: приватный, который находится на вашей машине и публичный, который будет нужно загрузить на сервер.
Если SSH ключа у вас нет – вам необходимо его сгенерировать. В ином случае – пропустите этот шаг и переходите к следующему.
И так, вам необходимо сгенерировать SSH ключ. Для этого выполните следующую команду (заменив joe@example.com на ваш email):
Далее вас попросят указать путь для сохрания ключа. Тут можно просто нажать Enter (будет выбран путь по умолчанию).
Затем придумайте пароль для вашего ключа. Введите его и на этом создание SSH ключа закончено.
Добавление публичного SSH ключа на сервер
Для того, чтобы сервер смог аутентифицировать пользователя – необходимо скопировать на него публичный SSH ключ, который вы до этого сгенерировали. Сделать это можно двумя способами.
Вариант 1: Используя ssh-copy-id
На локальной машине выполните следующую команду:
После введения пароля вы должны увидеть сообщение о том, что ключ был успешно скопирован на сервер.
Теперь вы можете подключаться к серверу, используя SSH ключ.
Настройка SSH сервера
На данном этапе необходимо выполнить несколько изменений в конфигурации SSH сервера, которые сделают его более безопасным.
Для этого откройте файл /etc/ssh/sshd_config :
$ sudo nano /etc/ssh/sshd_config
1. Изменение стандартного порта.
Первым делом, измените стандартный порт. Чтобы боты не пытались подключиться к вашему серверу и не засоряли тем самым лог.
Для этого измените значение Port на что-нибудь нестандартное, например:
Так же убедитесь в том, что ваш сервер использует 2 версию протокола.
После всех изменений сохраните файл и перезагрузите настройки SSH сервера, чтобы изменения вступили в силу.
$ sudo systemctl reload ssh.service
Если все сделано верно, то при попытке подключиться на стандартный порт 22 вы увидите следующую ошибку:
ssh: connect to host server_ip port 22: Connection refused
А при попытке подключится от имени root (уже на новый порт):
Permission denied (publickey).
Настройка Firewall
UFW (Uncomplicated Firewall) – простой файрволл, который представляет из себя утилиту для более удобного управления iptables.
Если в вашей системе его нет, то установите его командой:
$ sudo apt install ufw
Для начала проверьте статус файрволла:
Внимание: не активируйте файрволл до того, как укажете необходимые правила. Иначе вы рискуете потерять доступ к серверу.
Настройте правила таким образом, чтобы по умолчанию были запрещены все входящие запросы. Для этого выполните:
$ sudo ufw default deny incoming
А так же разрешите все исходящие:
$ sudo ufw default allow outgoing
Добавьте новое правило, чтобы были разрешены входящие запросы на SSH порт (в нашем случае 2222).
$ sudo ufw allow 2222/tcp
Далее включите файрволл командой:
Проверить статус файрволла и его правил можно командой:
Для более подробной информации нужно использовать команду:
$ sudo ufw status verbose
Заключение
На этом первоначальная настройка сервера завершена. Теперь вы можете устанавливать любое программное обеспечение, которое вам нужно.
Источник