Начальная настройка Ubuntu Server 20.04 LTS после установки
Базовая настройка Ubuntu Server 20.04 после установки.
Подключаемся к серверу:
ssh user@ip_addres
Учётная запись root
По умолчанию пароль для root
не установлен в Ubuntu 20.04, мы видим сообщение об ошибке:
Permission denied, please try again.
Можем убедится в том, что пароль для root
пустой:
sudo cat /etc/shadow | grep root

Так устроено в целях безопасности. Например, вы можете забыть что работаете от имени суперпользователя и удалить какие-либо важные вещи. Разработчики Ubuntu это учли и вообще отключили аккаунт суперпользователя.
Если всё же нужно авторизоваться от имени суперпользователя, необходимо установить для него пароль:
sudo passwd root
Затем нужно ввести два раза пароль. Проверим снова:
sudo cat /etc/shadow | grep root

Важно! На рабочих серверах не делайте так. Так можно делать только на домашней машине для удобства.
Создание нового пользователя с административными правами
Добавляем в систему нового пользователя и предоставляем ему права администратора.
sudo adduser john
Система задаст несколько вопросов. Сначала она предложит ввести пароль для этой учетной записи.
Введите пароль и при желании заполните поля с дополнительной информацией. Это не обязательно, и вы можете просто нажать Enter
, если хотите оставить поле пустым по умолчанию.
Проверим добавился ли пользователь john
:
sudo cat /etc/shadow | grep john

Добавляем нового пользователя в группу sudo
:
sudo usermod -aG sudo john
Сменим пользователя и проверим его права:
su - john
sudo whoami

Чтобы повысить уровень безопасности вашего сервера, мы настоятельно рекомендуем настроить ключи SSH вместо использования аутентификации по паролю. Мы это сделаем чуть позже, а пока настроим брандмауэр (фаервол) для корректной работы SSH-соединений.
Настройка брандмауэра
Различные приложения могут при установке зарегистрировать свой профиль в UFW. Такие профили позволяют UFW управлять этими приложениями по имени. OpenSSH (сервис, который позволяет подключаться к серверу) имеет свой профиль, зарегистрированный в UFW.
sudo ufw app list

Разрешим SSH-соединения, чтобы иметь возможность подключиться в следующий раз:
sudo ufw allow OpenSSH

Включаем брандмауэр:
sudo ufw enable
И опять проверяем статус:
sudo ufw status

Теперь можно настроить аутентификацию на основе SSH-ключей.
Аутентификация пользователя на основе SSH-ключей
Этот шаг не обязателен, но он значительно повысит безопасность вашего сервера. Поэтому, рекомендуем его не пропускать.
Для начала сгенерируем SSH ключ с помощью команды (не забудьте отключиться от сервера, команду запускаем на локальной машине!):
ssh-keygen
Путь для расположения ключа можно оставить стандартным. Можно придумать и ввести passphrase (секретная фраза). Или же просто оставить всё по умолчанию, нажимая Enter
:

Теперь этот ключ нужно скопировать на сервер. В Windows придётся копировать ключ вручную. Займёмся этим.
Подключаемся к серверу:
ssh user@ip_addres
В корневой директории созданного пользователя (/home/john) нужно создать папку .ssh
. Скорее всего вы уже находитесь в этой директории. Проверить это можно с помощью команды:
pwd
Если вы находитесь в другой директории, то перейдем в нужную нам с помощью команды:
cd /home/john
Здесь создадим директорию .ssh
:
mkdir .ssh
Проверить создание директории и просмотреть структуру текущей директории:
ls -la

Установим права для этой папки:
chmod 700 .ssh/
Перейдем в эту папку:
cd .ssh
Создадим файл authorized_keys
в этой директории:
touch authorized_keys
Установим права для этого файла:
chmod 600 authorized_keys
Вводим команду:
cat >> authorized_keys << EOF
Курсор передвинется на новою строку в ожидании ввода данных от вас:

Переходим в папку на локальном компьютере, куда был сгенерирован ключ и с помощью любого текстового редактора открываем файл id_rsa.pub
. Копируем весь текст из этого файла. Копируйте внимательно, без захвата пробелов в начале и в конце строки!
Вставляем ключ, который скопировали из файла id_rsa.pub
и вводим команду:
EOF
Жмем Enter
.
Отлично, мы скопировали и вставили наш ключ в файл authorized_keys
. Можно проверить содержимое файла командой:
cat authorized_keys

Теперь при подключении к серверу по SSH, пароль для подключения запрашиваться не будет.
Редактируем конфиг SSH
Откроем для редактирования конфигурационный файл SSH:
sudo nano /etc/ssh/sshd_config
Находим строчку PermitRootLogin
. Раскомментируем её (убрав знак решетки (#)) и выставим ему значение no
. Таким образом мы запретим авторизацию под root пользователем:
PermitRootLogin no
Находим строчку PubkeyAuthentication
. Раскомментируем её. Так мы активируем возможность авторизации с помощью SSH-ключа:
PubkeyAuthentication yes
Находим строчку PasswordAuthentication
. Раскомментируем ее и выставим значение no. Так мы запретим авторизацию по паролю:
PasswordAuthentication no
В самом конце файла с новой строчки вставим команду:
// Здесь изменить на вашего пользователя!
AllowUsers john
Сохраняем файл и выходим из редактора. Перезапускаем SSH:
systemctl restart ssh
Теперь если попытаться авторизоваться под root
или каким-либо другим пользователем, то сервер выдаст ошибку доступа.
На этом начальная настройка Ubuntu Server 20.04 завершена. В следующей заметке установим стек LAMP.
Предыдущая запись
Настройка статического IP-адреса в Ubuntu Server 20.04 LTSСледующая запись
Установка CentOS 7 в VirtualBox