Используйте sudo unonjunction с ключом ssh обычного пользователя

372
jamjam

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

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

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

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

1

2 ответа на вопрос

0
terdon

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

Defaults env_keep+=SSH_AUTH_SOCK 

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

sudo puppet apply /etc/puppet/manifests/site.pp 
Это не работает для меня. jamjam 11 лет назад 0
@jamjam Попробуйте `sudo -E`, а также попробуйте некоторые другие решения в связанном ответе. terdon 11 лет назад 0
0
jamjam

It turn's out there was a pretty simple solution to this.

Adding a -u option allows me to specify a user.

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

Now the ssh key for that user will be used.

Похожие вопросы