DigitalOcean/Создаём Droplet на базе Linux: различия между версиями
Dzmuh (обсуждение | вклад) |
Dzmuh (обсуждение | вклад) |
||
| Строка 110: | Строка 110: | ||
=== Запрет на вход по SSH для пользователя root === | === Запрет на вход по SSH для пользователя root === | ||
Правим файл <code>/etc/ssh/sshd_config</code>: | Правим файл <code>/etc/ssh/sshd_config</code>, устанавливая следующие параметры: | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="ini"> | ||
PermitRootLogin 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
Ссылки
- Настройка аутентификации на базе ключей SSH на сервере Linux. DigitalOcean (19 февраля 2021). Дата обращения: 17 ноября 2022. Архивировано 6 февраля 2022 года.
- ↑ SSH default port not changing (Ubuntu 22.10) (англ.). AskUbuntu (6 ноября 2022). Дата обращения: 28 ноября 2022. Архивировано 22 ноября 2022 года.
- ↑ SSHd now uses socket-based activation (Ubuntu 22.10 and later) (англ.) (8 октября 2022). Дата обращения: 28 ноября 2022. Архивировано 7 ноября 2022 года.