访问GitHub私有仓库时,部署到ec2实例失败

时间:2014-06-26 01:26:01

标签: ruby-on-rails git github ssh amazon-ec2

我在大约一年前设置了我的GitHub帐户,并且当时生成了一个新的SSH密钥(从命令行轻松地从GitHub推送和拉出)。几天前,我启动了一个新的ec2实例,并将它给我的.pem文件下载到SSH中。我可以使用.pem文件通过命令行轻松SSH到服务器。

我使用Capistrano部署我的Rails应用程序,并运行cap staging deploy:check。在deploy.rb文件中,我有私有 repo git url,在staging.rb文件中我将set ssh_options设置为{{1}的位置我从ec2实例下载的文件。

当命令开始运行时,它正在连接到服务器,但是当它尝试访问git repo .pem时,它失败并显示消息:

GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/<APP_NAME>/git-ssh.sh /usr/bin/env git ls-remote -h git@github.com:<USERNAME>/<APP_NAME>.git

在网上研究这个问题,从我收集的内容来看,似乎就像我需要为GitHub和ec2服务器使用相同的SSH。也许我的信息不正确......到目前为止都没有成功。

会喜欢这个问题的一些建议。谢谢你的时间。

1 个答案:

答案 0 :(得分:1)

如果问题是注册public key to your GitHub account,您可以轻松convert a pem to an ssh key

openssl rsa -in MYFILE.pem -pubout > MYFILE.pub
ssh-keygen -f MYFILE.pub -i -m PKCS8

第一个命令位于“openSSL: how to extract public key?” “Convert pem key to ssh-rsa format”中的第二个。

OP Justin确认:

  

我刚使用PuttyGen.pem转换为GitHub想要的格式...它的前缀是ssh-rsa