1

Я хочу выполнить команду, требующую прав суперпользователя, поэтому я использую sudo.

sudo puppet apply /etc/puppet/manifests/site.pp

Эта команда включает клонирование частного репозитория github с помощью ssh. Единственный способ это работает, если я добавлю свой ssh к пользователю root.

Я не хочу добавлять мой ssh к пользователю root. Как я могу использовать sudo но все же использовать ключ ssh для пользователя ubuntu?

2 ответа2

0

Оказалось, было довольно простое решение для этого.

Добавление опции -u позволяет мне указать пользователя.

sudo -u ubuntu puppet apply /etc/puppet/manifests/site.pp

Теперь ключ ssh для этого пользователя будет использоваться.

0

Я нашел этот ответ на Server Fault. По сути, вам нужно добавить эту строку в /etc/sudoers (используйте visudo):

Defaults    env_keep+=SSH_AUTH_SOCK

После этого вы сможете нормально выполнить команду:

sudo puppet apply /etc/puppet/manifests/site.pp

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