Development
July 14

Создание и настройка VPS

Привет, дорогой читатель! В этой статье оставлю памятку для тебя и себя о том, как настроить VPS после его покупки.

Предисловие

Как-то раз автор забыл продлить сервер в хостинге. Хостинг такой сервер удалил... Пришлось купить новый. Исходим из следующих допущений:

  • Сервер под управлением Ubuntu (актуальной версии).
  • Есть Root доступ к серверу через SSH и авторизацией с помощью пароля.

Что требуется сделать:

  • Создать нового пользователя на сервере с правами Администратора (sudo).
  • Получить доступ к серверу от имени нового пользователя с авторизацией по сертификату.
  • Установить Docker

Создание нового пользователя

Алгоритм:

  • Авторизоваться на сервере с правами Root через SSH или терминал.
  • Создать нового пользователя (newuser). При необходимости, установить пароль для этого пользователя.
   sudo adduser newuser
  • Выдать для нового пользователя права администратора.
   sudo usermod -aG sudo newuser

Настройка авторизации

Для настройки авторизации с помощью сертификата требуется выполнить следующие шаги:

  • На локальном компьютере (прим.: делал на Mac'е) - сгенерировать сертификат
   ssh-keygen -t ed25519 -C "newuser@mypc"

- При создании требуется задать название файла. Например: idnewuser.
- Опционально, можно задать пароль для сертификата. // Прим.: лучше создать.

  • На удаленном сервере зайти в директорию .ssh для newuser:
   cd ~newuser/.ssh/
  • Скопировать pub-ключ сертификата в файл "authorized_keys"
   nano authorized_keys
   <вставить содержимое idnewuser.pub на отдельной строке>
  • Убедиться, что директория .ssh и файл authorized_keys обладают корректными правами
   <sudo> chown -R newuser:newuser /home/newuser/.ssh
   <sudo> chmod 700 /home/newuser/.ssh
   <sudo> chmod 600 /home/newuser/.ssh/authorized_keys

Установка Docker

Используя Root авторизацию выполнить шаги инструкции "Install using the apt repository" тут: https://docs.docker.com/engine/install/ubuntu/

После установки выполнить шаги:

  • Добавить нового пользователя в группу docker
   <sudo> usermod -aG docker newuser
  • Проверить группы для нового пользователя
   groups newuser

Проверить права нового пользователя

Требуется авторизоваться с помощью сертификата и проверить, что у newuser есть права на выполнение команд docker без sudo.

  • Авторизоваться на сервере с помощью сертификата (файл "idnewuser")
   ssh newuser@<ip-адрес> -i ./idnewuser
  • Выполнить команду
   docker ps

Отключение авторизации через пароль

Для отключения авторизации с помощью пароля для newuser требуется выполнить следующие шаги на сервере

  • Открыть конфиг ssh
   <sudo> nano /etc/ssh/sshd_config
  • В конфиг ssh в конец файла дописать (newuser - это имя нового пользователя)
     Match User newuser
         PasswordAuthentication no
  • Сохранить изменения. Протестировать конфиг на ошибки:
     sudo sshd -t
  • Если всё ок, то применить настройки
     sudo systemctl restart sshd

Заключение

На этом всё. Всем добра!