![](/img/trans.png)
[英]Unable To access authorized_keys when logging in through ssh and the user is a sudo user
[英]How to access user's ssh keys from the program that is run with sudo?
困境:我正在开发的Linux程序应该:
为了使git + ssh正常工作,Git需要查看我的密钥。
对于“软件包”安装,该程序必须具有超级用户特权。
限制:程序不应自行提升特权(称为sudo)。 用户必须使用sudo显式调用它。 (让我们忽略用户开始以root用户身份登录时运行程序的情况-假设他那时将正确设置密钥。)
因此,问题是:如何使用sudo调用的程序中的用户密钥进行ssh访问?
使用-i identity_file ssh参数。 要告诉git使用正确的命令,您应该将GIT_SSH变量设置为一个将调用ssh -i“ $ @”的文件。
如果您无法执行此操作,则在执行git pull命令时应放弃特权。
sudo -u <original_user> git fetch git+ssh://
您可以使用$ {SUDO_USER}环境变量来查找原始用户。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.