Создание и настройка VPS
Привет, дорогой читатель! В этой статье оставлю памятку для тебя и себя о том, как настроить VPS после его покупки.
Предисловие
Как-то раз автор забыл продлить сервер в хостинге. Хостинг такой сервер удалил... Пришлось купить новый. Исходим из следующих допущений:
- Сервер под управлением Ubuntu (актуальной версии).
- Есть Root доступ к серверу через SSH и авторизацией с помощью пароля.
- Создать нового пользователя на сервере с правами Администратора.
- Настроить авторизацию к серверу от имени нового пользователя с авторизацией по сертификату.
- Установить Docker
Подключение к серверу и изменение пароля
У вас должны быть IP адрес сервера и пароль для Root
ssh root@<ip-адрес>
passwd
Создание нового пользователя
Создать нового пользователя (например, "newuser"). При необходимости, установить пароль для этого пользователя.
sudo adduser newuser
Добавить пользователя в группу администраторов (sudo)
sudo usermod -aG sudo newuser
Настройка авторизации с помощью сертификатов
Сгенерировать сертификат на локальном компьютере.
ssh-keygen -t ed25519 -C "newuser@mypc"
Подключиться к серверу от имени root. Далее выполнить:
cd ~newuser/
mkdir .ssh
nano authorized_keys
sudo chown -R newuser:newuser /home/newuser/.ssh sudo chmod 700 /home/newuser/.ssh sudo chmod 600 /home/newuser/.ssh/authorized_keys
Авторизация нового пользователя
В директории, где сгенерирован сертификат для нового пользователя выполнить подключение к серверу
ssh newuser@<ip-адрес> -i ./newuser
Настройка SSH
Изменение порта ssh
sudo nano /etc/ssh/sshd_config
Отредактировать и изменить порт для ssh. Например,
Выполнить "sudo systemctl edit ssh.socket" и добавить:
[Socket] ListenStream= ListenStream=0.0.0.0:45654 ListenStream=[::]:45654
sudo systemctl daemon-reload sudo systemctl restart ssh.socket sudo systemctl status ssh.socket
Проверить, что все хорошо: "sudo ss -tlnp | grep 45654"
Настроить ufw (если применимо)
sudo ufw allow 45654/tcp sudo ufw allow 443/tcp sudo ufw reload
Теперь подключение будет следующим (ВАЖНО!):
ssh newuser@<IP-адрес> -i ./newuser -p 45654
Отключение IPv6
sudo nano /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
sudo sysctl -p
Отключить авторизацию через пароль и авторизацию Root
sudo nano /etc/ssh/sshd_config
В файле отредактировать следующие поля:
Match User newuser PasswordAuthentication no
Перезапуск sshd
sudo systemctl restart sshd
Установка Docker
Выполнить шаги инструкции "Install using the apt repository", см: https://docs.docker.com/engine/install/ubuntu/
Добавить нового пользователя в группу docker
sudo usermod -aG docker newuser
Проверить группы для нового пользователя
groups newuser
Перезагрузка
sudo reboot
Подключение
ssh newuser@<IP-адрес> -i ./newuser -p 45654