[英]Git clone with sudo -u without passphrase
I have user - dev
with ssh config like this: 我有用户-
dev
使用ssh config这样的:
Host *
IdentityFile ~/.ssh/id_rsa
If I login as this dev user (sudo su dev) and try to clone, everything works fine. 如果我以该开发用户身份(sudo su dev)登录并尝试克隆,则一切正常。 Clone used without passphrase.
克隆使用无密码短语。
But when I use command like this: 但是当我使用这样的命令时:
sudo -u dev git clone repositoryurlhere
I always see: 我总是看到:
Enter passphrase for key '/home/dev/.ssh/id_rsa'
How to get rid of this? 如何摆脱这个?
The file /home/dev/.ssh/id_rsa
is encrypted. 文件
/home/dev/.ssh/id_rsa
已加密。 You probably had to enter a passphrase a few minutes agon when you were still dev
, but forgot you did. 当您仍然是
dev
人员时,您可能不得不在几分钟前输入密码,但忘记了。 After entering the password your keychain usually remembers it for a few minutes (similar to sudo
, you need to enter your password only every few minutes). 输入密码后,钥匙串通常会记住几分钟(类似于
sudo
,您只需每隔几分钟输入一次密码)。
When you switched to another user and then used sudo -u dev
, that remembered password was gone and you had to re-enter the password. 当您切换到另一个用户然后使用
sudo -u dev
时,记住的密码已消失,您必须重新输入密码。
The only solution is to remove the password from the identity file using 唯一的解决方案是使用以下命令从身份文件中删除密码
ssh-keygen -p -N "" -f /home/dev/.ssh/id_rsa
Afterwards you won't have to enter a password, neither as dev
nor when using sudo -u dev
. 之后,无论是
dev
还是使用sudo -u dev
,您都无需输入密码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.