2012-05-24 8 views
1

这是在Ubuntu上,我有一个用户启动shell脚本,每次启动实例时都会运行(EC2通过--user-data-file参数)。我希望实例在每次引导时从特定分支执行git pull。问题是当我做一个git pull的时候,有一个SSH密钥的口令提示,我不知道最好的方法是在shell脚本中自动输入密码。如何在用户启动脚本中运行git pull并绕过SSH密码提示?

回答

1

尝试期待http://en.wikipedia.org/wiki/Expect 它可以让你交互式SSH会话提供密码

+0

谢谢,这可能会起作用。虽然我必须将密码写在纯文本中,所以我不如从ssh密钥中删除密码。我还发现了一些更安全的替代品,但他们似乎更多参与。无论如何,我会在此期间接受这个答案。再次感谢! – pixelfreak

1

您应该生成您的公用ssh密钥,并要求该分支的管理员将密钥存储在其authorized_keys文件中。

这是你应该做的: Generating Your SSH Public Key

这是管理员应该做的: How to Use RSA Key for SSH Authentication

+0

杨,我正在从豆茎拉出。我不认为他们让你添加你自己的密钥autorhized_keys – pixelfreak

+0

是否ssh-agent的帮助?见[这篇文章](http://stackoverflow.com/questions/6265595/how-can-i-peform-a-git-pull-without-re-entering-my-ssh-password) – Yang

+0

我看到那篇文章,我不确定这是否会在脚本中起作用,因此我需要启动ssh-agent并运行ssh-add,它会提示输入密码,然后我们又回到原点:) – pixelfreak

相关问题