如何在bluehost上使用git时避免使用ssh密码

时间:2011-03-05 17:29:02

标签: git redmine bluehost

我正在使用assembla作为git存储库。我想保留本地版本到我的bluehost托管。每次我要求获取最新的副本时,它都会要求我输入密码 -

Enter passphrase for key '/home/xxx/.ssh/id_dsa':

我该如何避免这种情况?还有一件事,如果我在cron上为git添加一个命令,如下所示

cd /path/to/project.git && git fetch -q

告诉

/bin/sh: git: command not found

如何解决这个问题?

顺便说一句,我正在尝试用我的redmine工具来解决这个问题。 谢谢 穆萨 芭蕉

4 个答案:

答案 0 :(得分:3)

您必须使用SSH代理将破解密钥存储在内存中。

这在unix下非常简单,只需启动eval $(ssh-agent)然后ssh-add这会询问您的密码,然后存储密钥。

对于cron问题,请尝试输入完整路径,您可以在任何shell上使用which git获取它。

答案 1 :(得分:1)

您可以查看keychain,根据需要负责启动ssh-agents。从rpm包描述:

  

Keychain是OpenSSH的经理,   ssh.com,Sun SSH和GnuPG代理商。它   作为代理人的前端,   让你轻松拥有一个   每个系统长期运行的代理进程,   而不是每个登录会话。这个   大大减少了数量   你需要输入你的时间   密码从每次新登录一次   每当你的本地会议一次   机器重新启动。

答案 2 :(得分:0)

您需要将公钥添加到BlueHost上的〜/ .ssh / authorized_keys。 有关详细信息,请参阅http://ionrails.com/2009/08/29/bluehost-login-to-your-ssh-account-without-typing-in-a-password/。我还记得在BlueHost的用户论坛中找到这个

我无法直接验证这一点,因为当我做git pull时,我刚刚被剪切并粘贴了密码。

答案 3 :(得分:-1)

这是一个链接,告诉您具体如何执行此操作:

http://linuxconfig.org/passwordless-ssh

记下第一条评论。我需要像评论者建议的那样替换scp命令。