Я пытаюсь запустить сценарий, который выполняет цепочку команд под другим пользователем на удаленном сервере. Сценарий содержит следующую команду ssh для возврата информации об установке Drupal удаленного пользователя. Открытый ключ пользователя моего sudoers установлен и работает правильно.
Следующий пример не работает и просто останавливается без вывода:
$ssh sudoers_user@remote.server "sudo -u another_user -s;cd ~/htdocs;drush status;"
Когда я вручную ввожу связанные команды в консоли, все работает нормально.
Я также получаю хорошие результаты с:
$ssh sudoers_user@remote.server "ls -al /var/www/vhosts/"
Посоветуйте, пожалуйста, где я ошибаюсь. Спасибо.
По умолчанию sudo ожидает интерактивной аутентификации по паролю. Вам нужно либо использовать ssh как sudoers_user, либо использовать модификатор NOPASSWD: в sudoers для этой пары исходный / целевой пользователь.