
Ich habe gesehendiese Frageund habe es Defaults env_keep+=SSH_AUTH_SOCK
in meine /etc/sudoers
Datei eingefügt, aber ich kann immer noch nicht von GitHub auf meiner Vagrant-Box klonen, indem ich sudo: true
es sudo_user: <user>
in meinem Ansible-Playbook verwende. Ich würde den Code gerne als der Benutzer klonen, den ich zum Ausführen erstellt habe, aber das erweist sich als wirklich frustrierend. Ich kann es tun, wenn ich mich über anmelde, aber wenn ich das tue, erhalte ich den Fehler „Zugriff verweigert“. Wenn ich den Wert als der bestimmte Benutzer wiedergebe, sehe ich, dass er festgelegt ist:ssh [email protected]
vagrant ssh
sudo -u <user> ssh [email protected]
SSH_AUTH_SOCK
vagrant@vagrant-ubuntu-trusty-64:/tmp$ sudo -u derp echo $SSH_AUTH_SOCK
/tmp/ssh-w3XYbqlMnX/agent.1592
Antwort1
Ich denke, das Problem ist, dass die /tmp-Datei keine Berechtigungen hat. Wenn Sie
sudo -u root ssh [email protected]
Das könnte funktionieren, da Root die Dateien lesen kann
Um dies zu beheben, führen Sie als Vagrant-Benutzer Folgendes aus:
setfacl -m otheruser:x $(dirname "$SSH_AUTH_SOCK")
setfacl -m otheruser:rwx "$SSH_AUTH_SOCK"
Dadurch sollten die otheruser
Rechte erteilt werden, in das Verzeichnis zu gelangen und die Datei zu lesen.