我有用户 - dev
使用这样的 ssh 配置:
Host *
IdentityFile ~/.ssh/id_rsa
如果我以这个开发用户(sudo su dev)登录并尝试克隆,一切正常。克隆使用没有密码。
但是当我使用这样的命令时:
sudo -u dev git clone repositoryurlhere
我总是看到:
Enter passphrase for key '/home/dev/.ssh/id_rsa'
如何摆脱这个?
最佳答案
文件/home/dev/.ssh/id_rsa
已加密。几分钟前,当您还在 dev
时,您可能不得不输入密码。 ,但忘记了。输入密码后,您的钥匙串(keychain)通常会记住几分钟(类似于 sudo
,您只需每隔几分钟输入一次密码)。
当您切换到另一个用户然后使用 sudo -u dev
时,记住的密码消失了,您必须重新输入密码。
唯一的解决方案是使用从身份文件中删除密码
ssh-keygen -p -N "" -f /home/dev/.ssh/id_rsa
之后你就不用输入密码了,
dev
使用 sudo -u dev
时也不.
关于使用 sudo -u 无密码的 Git 克隆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43886612/