4

У меня есть удаленная система Linux, к которой я могу подключиться через ssh и открытый ключ, а затем выполнить следующую команду:

sudo jetty restart

Эта команда в этой системе настроена так, чтобы любой мог выполнить ее без пароля sudo. Т.е. файл sudoers, вероятно, выглядит примерно так

%develop ALL = NOPASSWD: /opt/scripts/jetty

Это замечательно, так как мы можем выполнить этот скрипт с повышенными привилегиями, сохраняя все остальное заблокированным. Проблема в том, что при попытке выполнить эту команду удаленно, меня всегда спрашивают пароль sudo.

me@home:~$ ssh -t -i ~/.ssh/identity me@remote.server.com 'sudo jetty restart'
Password: .....? (I don't have the sudo password!)

Есть ли способ, которым я могу выполнить эту команду удаленно?

1 ответ1

2

Убедитесь, что sudo выбирает правильную команду; если есть /usr/bin/jetty или другое, правило sudoers не будет соответствовать. (Обратите внимание, что ваш ~/.bashrc и такие файлы игнорируются при использовании ssh <host> <command> , поэтому ваши настройки $PATH никогда не происходят.)

sudo /opt/scripts/jetty restart должна работать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .