简体   繁体   English

没有密码短语的sudo -u Git克隆

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM