Назад | Перейти на главную страницу

Как вызвать команду sudo, такую ​​как systemctl, через удаленный ssh

Я пытаюсь настроить конвейер развертывания, который включает вызов systemctl для запуска и остановки служб. У меня есть сценарий оболочки на сервере, который вызывает systemctl, и мой сервер сборки будет вызывать сценарий оболочки через удаленный ssh.

Но systemctl требует прав sudo и поэтому запрашивает пароль. Есть ли способ вызвать systemctl через удаленный ssh, который не требует взаимодействия с пользователем?

Пожалуйста, потратьте свое время на что-нибудь другое, кроме изобретения велосипеда. В настоящее время существует несколько вариантов управления конфигурацией.

Самый близкий к тому, что вы пытаетесь построить, это Ansible.

В любом случае, установка дополнительного программного обеспечения должна быть возможна, если у вас есть полный контроль над сервером, на котором вы развертываете, или если кто-то готов помочь получить его для вас.

Вы на правильном пути. Единственная отсутствующая точка - это изменение / запрос на изменение того, как ваш пользователь использует команду de sudo. Его параметр конфигурации, позволяющий установить, что некоторые пользователи могут использовать некоторые команды sudo без необходимости ввода пароля.

В любом случае в документации ясно, как это сделать, но если вы не владеете / не администрируете сервер, на котором вы развертываете, будет странно (и рискованно), что administratot предоставит вам «без пароля» sudo доступ к чему-то столь же мощному и сложному, как systemctl