1

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

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

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

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

所以我该怎么做?

4

1 回答 1

1

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

您也可以按照@kostix 的建议使用SSH 代理转发。

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

于 2013-10-02T06:42:11.903 回答