# Первичная настройка сервера на Ubuntu
Первичная настройка сервера занимает всего несколько минут, но значительно облегчает дальнейшую работу с ним, делая её более удобной и безопасной. В этой инструкции мы пройдём несколько базовых шагов: создадим нового пользователя с привилегиями sudo, настроим список исключений фаервола и организуем безопасный доступ к серверу по SSH с паролем или аутентификацией по ключу.
# Создание нового пользователя
В Linux пользователь с root-правами обладает неограниченными полномочиями, использовать которые на регулярной основе не следует — серверу можно нанести серьёзный ущерб даже по неосторожности.
Чтобы избежать этого, мы создадим нового пользователя и наделим его sudo-привилегиями. Это позволит нам выполнять команды от имени администратора (root-пользователя), вводя перед основной командой sudo.
Чтобы создать нового пользователя, подключимся к серверу по SSH с помощью любой программы-клиента.
На Джино данные для SSH-доступа (хост, порт, логин и пароль root-пользователя) можно найти в разделе УправлениеДоступ в консоль.
Первый вход на сервер осуществляется от имени root-пользователя. После подключения можно создать нового пользователя:
adduser User
Вместо User укажите имя нового пользователя.
После ввода команды Ubuntu попросит дважды ввести пароль для нового пользователя и указать его данные (поля для заполнения этих данных можно оставить пустыми). В дальнейшем при подключении к серверу мы будем использовать именно эти логин и пароль.
Теперь наделим нового пользователя правами администратора:
usermod -aG sudo User
Этой командой мы добавляем пользователя User в группу sudo — суперпользователей, которые могут выполнять команды от имени root-пользователя.
Чтобы переключиться на нового пользователя в текущей сессии SSH-подключения, используем команду:
su User
Теперь для выполнения команд, требующих root-права, в начале строки нужно ввести sudo.
# Установка и настройка фаервола
Для контроля подключений на Ubuntu можно использовать стандартную утилиту UFW (Uncomplicated Firewall). Начнём с установки утилиты. Для этого обновим APT (установщик программных пакетов):
sudo apt update
После этого можно устанавливать UFW:
sudo apt install ufw
Сразу после установки UFW находится в неактивном состоянии. Прежде чем активировать её, нужно создать правило, разрешающее подключение к серверу по SSH. Иначе сразу после активации фаервол заблокирует нам доступ к серверу. Правило создаётся так:
sudo ufw allow OpenSSH
Проверим, что правило попало в список. Вводим команду:
sudo ufw app list
У вас должен появиться список приложений, которым разрешён доступ к серверу. На данном этапе он должен выглядеть так:
Available applications:
OpenSSH
Как видим, SSH-подключение в списке разрешённых. Теперь можно включать фаервол:
sudo ufw enable
Перед стартом UFW предупредит, что текущее SSH-соединение может быть разорвано, но поскольку мы его уже добавили в список разрешённых подключений, просто нажимаем «y» и продолжаем работу.
Проверим статус утилиты, чтобы убедиться, что она работает:
sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Сейчас фаервол блокирует любые подключения, кроме SSH. Каждое новое приложение, которое мы будем устанавливать на сервер, нужно будет добавлять в список разрешённых для подключения сервисов командой:
sudo ufw allow “App_Name”
При подключении к серверу по SSH, если у вас не настроена аутентификация по ключу, можно сразу указывать имя и пароль нового пользователя, чтобы входить на сервер с его правами.
# SSH-подключение с аутентификацией по ключу
Этот способ подключения позволяет не вводить пароль каждый раз при подключении к серверу. Вы один раз загружаете публичный ключ на сервер и в дальнейшем проходите аутентификацию по частному ключу, который хранится на вашем компьютере. Это удобно и безопасно — программы-перехватчики или кейлоггеры не смогут перехватить вводимый пароль.
# Windows
Если вы используете ОС Windows, вам понадобятся утилиты PuTTYgen и Pageant.
Сначала сгенерируем публичный и частный ключи. Для этого запустим PuTTYgen и в пункте меню Key
укажем параметр «SSH-2 RSA key». Нажмём Generate и сделаем несколько движений мышью в определённой области экрана — на основании наших движений будут генерироваться числа для ключей.
После этого в окне «Public key for pasting...» появится публичный ключ, который нужно будет поместить на сервер.
Мы сделаем это с помощью SSH-подключения и текстового редактора vim:
После подключения к серверу смените директорию на домашнюю командой:
cd ~
Теперь создайте папку «.ssh»:
mkdir .ssh
Перейдите в эту папку:
cd .ssh
Создайте здесь файл «authorized_keys»:
vim authorized_keys
Поместите в этот файл публичный ключ из окна «Public key for pasting...» утилиты PuTTYgen.
Сохраните только что созданный файл.
Возвращаемся к PuTTYgen.
В поля «key passphrase» и «confirm passphrase» можно ввести пароль, который будет проверяться перед проверкой частного ключа (дополнительная ступень безопасности).
Теперь сохраним на компьютере публичный ключ (Save Public Key) в формате .txt и частный ключ (Save Private Key) в формате .ppk.
В окне утилиты Pageant выберем файл нашего частного ключа (Add key), укажем пароль (passphrase) и активируем его.
Теперь при подключении по SSH клиенты, поддерживающие аутентификацию по ключу, сами определят, что для авторизации на сервере нужно использовать ключ. Программа-клиент сверит публичный ключ, размещённый на сервере, с частным ключом на вашем компьютере и установит соединение.
Чтобы отключить аутентификацию по паролю, отредактируем файл конфигурации SSH. Откроем его в текстовом редакторе:
vim /etc/ssh/sshd_config
Далее укажем значение параметра PasswordAuthentication no. Раскомментируем (уберём #) параметр Public Key Authentication и укажем yes. Также укажем файлы публичных ключей в строке AuthorizedKeysFile.
Теперь осталось только перезапустить службу SSH, чтобы все внесённые изменения вступили в силу.
sudo sshd restart
# Linux
Если вы используете Linux, то введите в терминале команду ssh-keygen. После запроса придумайте и введите пароль.
В результате в папке .ssh внутри вашей домашней директории появятся файлы key_rsa и key_rsa.pub.
Теперь введите в терминале команду ssh-keygen -ef \~/.ssh/key_rsa_alt > \~/.ssh/key_rsa_alt.pub
. Она создаст файл key_rsa_alt.pub в папке .ssh.
На сервере создайте файл ~/.ssh/authorized_keys и поместите в него ваш публичный ключ из файла key_rsa_alt.pub.
И в завершение введите в терминале команду ssh-add, чтобы активировать ключ на компьютере.
Мы выполнили несколько простых операций и подготовили сервер к началу полноценной работы. Теперь можно переходить к установке программного обеспечения, которое вам потребуется для работы.