【问题标题】:How to pass in git rsa passphrase from remote ssh?如何从远程 ssh 传入 git rsa 密码?
【发布时间】:2013-10-08 02:10:36
【问题描述】:

我有一个 AWS ubuntu 10.xx 服务器。由于技术问题,我正在运行 Git 1.7.4 而不是最新的。 (所以我不能使用凭证助手)。

在该服务器上,它有一个调用 git pull 的 shell 脚本。

我在那个服务器上有 rsa。因此,如果我进入该服务器并执行 git pull,它会要求输入密码。这很好,那时没有问题。

但是,如果我远程调用 git pull 的 shell 脚本,它将失败。因为没有提示输入密码,因此它会失败。我会得到“权限被拒绝(公钥)”。

那么,我该怎么办?

【问题讨论】:

  • 考虑使用SSH agent forwarding。另一种方法可能是在服务器上使用解密的密钥。如果您选择后一种,请确保妥善保护密钥,例如至少拥有0600 的权限位。
  • 我建议不要使用未加密的密钥。如果您的服务器遭到入侵并且他们能够获得 root 访问权限,他们就可以使用该密钥做坏事。

标签: git amazon-web-services ssh remote-access git-remote


【解决方案1】:

您可以在服务器上使用 ssh-agent 来加载私钥并输入密码短语一次。这将保持密钥加载,直到 ssh-agent 被杀死,例如重新启动时。

您也可以按照 @kostix 的建议使用 SSH agent forwarding

另外,shell 脚本是否需要在无人看管的情况下运行?如果没有,我会使用并喜欢 fabric 来处理此类任务,因为它会将任何输入提示从远程服务器转发到您的本地计算机,此外还有在远程服务器上自动执行任务时的所有其他类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-01
    • 2021-03-29
    • 1970-01-01
    • 2015-09-08
    相关资源
    最近更新 更多