Таким образом, я видел этот вопрос и добавил Defaults env_keep+=SSH_AUTH_SOCK
в мой /etc/sudoers
файл, но я все еще не могу клонироваться от GitHub на моем использовании поля Vagrant sudo: true
и sudo_user: <user>
в моем ansible сборнике пьес. Я хотел бы клонировать код как пользователь, которого я создал для выполнения его, но это оказывается действительно печальным. Я могу сделать ssh git@github.com
когда я регистрируюсь на пути vagrant ssh
но когда я затем делаю sudo -u <user> ssh git@github.com
Я получаю Разрешение Отклоненная ошибка. Когда я отзываюсь эхом SSH_AUTH_SOCK
оцените как определенный пользователь, я вижу, что это установлено:
vagrant@vagrant-ubuntu-trusty-64:/tmp$ sudo -u derp echo $SSH_AUTH_SOCK
/tmp/ssh-w3XYbqlMnX/agent.1592
Я думаю, проблема в том, что у файла / tmp нет разрешений. Если вы
sudo -u root ssh git@github.com
Это может сработать, поскольку root может читать файлы
. Чтобы исправить это, когда бродячий пользователь запускает
setfacl -m otheruser:x $(dirname "$SSH_AUTH_SOCK")
setfacl -m otheruser:rwx "$SSH_AUTH_SOCK"
Это должно дать права другому пользователю
войти в каталог и прочитать файл.