我有一个AWS ubuntu 10.xx服务器。由于技术问题,我正在运行Git 1.7.4而不是最新版本。 (所以我不能使用凭证助手)。
在该服务器上,它有一个调用git pull的shell脚本。
我在该服务器中有rsa。因此,如果我进入该服务器并执行git pull,它将要求密码。这很好,那时没有问题。
HOwever,如果我远程调用git pull的shell脚本,它将失败。因为没有提示密码短语因此它会失败。我会得到“Permission denied(publickey)”。
那么,我该怎么办?
答案 0 :(得分:1)
您可以在服务器上使用ssh-agent加载私钥并输入密码短语一次。这将保持密钥加载,直到ssh-agent被杀死,例如重新启动时。
您也可以使用SSH agent forwarding,因为@kostix建议。
此外,shell脚本是否需要无人值守运行?如果没有,我会使用并且喜欢fabric这样的任务,因为它会将任何输入提示从远程服务器转发到本地计算机,以及在远程服务器上自动执行任务时的所有其他类型的强大功能。