Добавление юзера sudo на сервер с авторизацией по SSH ключам

Например мы установили новый сервер и в целях безопасности хотим закрыть авторизацию под root, но всё же оставить рабочее пространство в виде папки юзера и необходимые права для работы с сервером по ssh. Или ssh авторизация под root на сервере уже закрыта до нас, и в терминале приходится юзать sudo авторизуясь каждый раз под суперпользователем. Но нам не мешало бы иметь свою историю bash комманд и так сказать свою рабочую область на этом сервере. Добавим пользователя с авторизацией по ключам, при этом предоставив ему необходимые sudo привилегии, не требующие постоянных вводов пароля. Последующие команды следует делать из под root. Поехали:

Мы оказались в домашней директории /home/sshuser авторизованы под sshuser, теперь у себя на локальной машине нужно сгенерировать публичный и приватный ssh ключи. Публичный ключ запишем на сервер, а приватный сохраним на локалке и предъявляя его будем авторизовываться. Генерацию пар ключей можно выполнить командой

Или любым иным ssh клиентом, например PuTTy агентом. Содержимое файла sshuser.pub копируем в буфер обмена и возвращаемся в терминал к только что созданному пользователю sshuser

Почти готово. Вернувшись в root делаем рестарт ssh сервиса, чтобы подхватились все новые настройки:

На локалке в ssh клиенте добавляем приватный ключ и авторизуемся под пользователем. А если работаем из лолкального терминала, то:

Пробуем, работают ли sudo привилегии суперпользователя:

Если система запрашивает пароль, скорей всего в файле /etc/sudoers не прописано включение конфигов из директории /etc/sudoers.d/ тогда пофиксим:

ищем в открытом файле строку #includedir /etc/sudoers.d и если её там нет добавляем именно так, со слешем впереди. Теперь всё должно работать как надо.