Я настроил сервер для приема ssh
без паролей, и он отлично работает для непривилегированных команд.
Однако когда я пытаюсь бежать sudo
команд, у меня все еще спрашивают пароль:
$ ssh -t test@192.168.1.52 "ls"
Desktop Documents Downloads Music Pictures Public Templates Videos
Connection to 192.168.1.52 closed.
$ ssh -t test@192.168.1.52 "sudo ls"
[sudo] password for test:
Desktop Documents Downloads Music Pictures Public Templates Videos
Connection to 192.168.1.52 closed.
$
Поиск в Google указывает на то, что ssh -t
должен позволить sudo
запускать без запроса пароля, но это не тот случай, о котором говорилось выше.
Любое предложение, что мне делать, чтобы команды sudo работали без запроса пароля?
ОС - CentOS 7.5.
Объединив отличные комментарии Торина и Майкла,
Вы должны отредактировать конфигурацию sudo, чтобы разрешить команды, которые вы хотите, необязательно включая NOPASSWD:
модификатор.
Помните, что:
#includedir
директива для включения каталога дополнительных конфигураций sudoers, таких как /etc/sudoers.d
. Затем вы можете добавить файлы, например, с развернутым вами пользовательским пакетом программного обеспечения.ssh -t
относится к выделению tty, которое напрямую не связано.
Команда ниже - это правильный способ добавления пользователя в sudoers:
echo "test ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/test
chmod 0440 /etc/sudoers.d/test
Теперь вы можете использовать ssh без отключения.