Под root любая опечатка выполняется без вопросов: rm не спросит подтверждения, а взломанный процесс получит всю систему. Поэтому для ежедневной работы заводят обычного пользователя и поднимают права через sudo только тогда, когда это действительно нужно.
Создайте пользователя
Команда adduser спросит пароль и необязательные поля (имя, телефон) — их можно пропустить клавишей Enter.
$ adduser deployВыдайте права sudo
В Ubuntu и Debian права sudo получают члены группы sudo. Добавьте пользователя в группу:
$ usermod -aG sudo deployНа минимальной Debian 12 пакета sudo может не быть. Проверьте и при необходимости установите:
$ apt install -y sudoПеренесите SSH-ключ
Если вы уже входите под root по ключу, скопируйте authorized_keys новому пользователю и поправьте владельца и права:
$ mkdir -p /home/deploy/.ssh$ cp /root/.ssh/authorized_keys /home/deploy/.ssh/$ chown -R deploy:deploy /home/deploy/.ssh$ chmod 700 /home/deploy/.ssh$ chmod 600 /home/deploy/.ssh/authorized_keysПроверьте результат
Не закрывая текущую сессию, откройте новое окно терминала и войдите под новым пользователем:
$ ssh [email protected]$ sudo whoamiПоследняя команда должна спросить пароль пользователя deploy и вывести root. Только после этого можно запрещать вход под root — это описано в статье про защиту SSH.
Частые ошибки
- «deploy is not in the sudoers file» — пользователь не в группе sudo или вы не перелогинились после usermod. Группы применяются при новом входе.
- Вход по ключу не работает — неверные права на ~/.ssh или владелец root. SSH молча игнорирует ключи со слишком открытыми правами.
- Правили /etc/sudoers обычным редактором и сломали синтаксис — всегда используйте
visudo, он проверяет файл перед сохранением.