使用 sudo -u 无密码的 Git 克隆

标签 git ubuntu ssh

我有用户 - 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/

相关文章:

multithreading - 为什么在多核 CPU 上增加计算过程需要更长的时间

amazon-web-services - 从我的家庭网络连接到我的 AWS-EC2 实例时,SSH 连接超时。但是从我的工作网络连接时它可以工作

perl - 将 500 多个文件的名称从 Unicode U+0600 转换为文本

php - 在 Github 上创建发布 zip 文件,其中不包含标签名称

git - Git 上的 Pharo 项目

php - 如何在 ubuntu 机器上安装 oracle instantclient 和 pdo_oci?

ubuntu - 如何从远程连接终端内将文件从本地scp到远程

git - 如何在 PhpStorm 中比较本地与远程 git 存储库?

svn - 如何在 SVN 存储库中的源之间比较 Git 存储库中的源

c# - 访问文件列表时无法解释的单声道应用程序崩溃