DigitalOcean/Создаём Droplet на базе Linux: различия между версиями

Материал из DZWIKI
Перейти к навигации Перейти к поиску
Строка 114: Строка 114:
<syntaxhighlight lang="ini">
<syntaxhighlight lang="ini">
PermitRootLogin no
PermitRootLogin no
ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no
</syntaxhighlight>
</syntaxhighlight>



Версия от 13:49, 28 ноября 2022

Краткая общая инструкция по созданию и настройке Droplet на базе Linux.

Пользователи

В созданном Droplet на базе Linux существует только один пользователь и это пользователь root, что предоставляет потенциальную опасность. Добавляю непривилегированного пользователя.

useradd --home /home/user --gid users -m --shell /bin/bash user

Добавляю в группу sudo так:

adduser user sudo

или так:

usermod -aG sudo user

И задаю сложный пароль:

passwd user

Теперь осуществлять операции в droplet нужно из под непривилегированного пользователя. Любая системная операция потребует ввода пароля.

Не забываем добавить новому пользователю публичные ключи в echo public_key_string >> ~/.ssh/authorized_keys

Просто в консоли переключаемся на созданного пользователя su UserName и идём в домашнюю папку делать дела.

Настраиваю SSH

Меняю стандартный порт

В файле /etc/ssh/sshd_config меняю значение строку Port 22 на, например Port 52222.

Сохраняем файл и перезапускаем службу ssh:

service ssh restart

Внимание! В Ubuntu 22.10 изменить порт вышеуказанным способом не получится, так как используется socket-based активация[1][2].

Решить вопрос можно двумя способами.

Первый способ: переключаем активацию на старый метод.

systemctl disable --now ssh.socket
systemctl enable --now ssh.service

Второй способ: настраиваем socket.

mkdir -p /etc/systemd/system/ssh.socket.d
cat >/etc/systemd/system/ssh.socket.d/listen.conf <<EOF
[Socket]
ListenStream=2222
EOF

Пример выше, заставляет sshd прослушивать порты 2222 и 22. Если нужно прослушивать только порт 2222, то:

mkdir -p /etc/systemd/system/ssh.socket.d
cat >/etc/systemd/system/ssh.socket.d/listen.conf <<EOF
[Socket]
ListenStream=
ListenStream=2222
EOF

После этого перезапускаем droplet.

Отключение проверки пароля

После настройки входа с помощью SSH ключа, желательно отключить вход посредством SSH-сервера с помощью имени пользователя и его пароля.

В файле /etc/ssh/sshd_config меняю значение строку PasswordAuthentication yes на PasswordAuthentication no.

Сохраняем файл и перезапускаем службу ssh:

service ssh restart

Запрет на вход по SSH для пользователя root

Правим файл /etc/ssh/sshd_config, устанавливая следующие параметры:

PermitRootLogin no
ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no

Ссылки

  1. SSH default port not changing (Ubuntu 22.10) (англ.). AskUbuntu (6 ноября 2022). Дата обращения: 28 ноября 2022. Архивировано 22 ноября 2022 года.
  2. SSHd now uses socket-based activation (Ubuntu 22.10 and later) (англ.) (8 октября 2022). Дата обращения: 28 ноября 2022. Архивировано 7 ноября 2022 года.