【发布时间】:2014-08-16 17:59:57
【问题描述】:
我大约在一年前设置了我的 GitHub 帐户,并在当时生成了一个新的 SSH 密钥(以便从命令行轻松地从 GitHub 推送和拉取)。几天前,我启动了一个新的 ec2 实例,并下载了它给我的 .pem 文件,以便通过 SSH 连接到其中。我可以使用.pem 文件通过命令行轻松地通过 SSH 连接到服务器。
我正在使用 Capistrano 部署我的 Rails 应用程序,并运行 cap staging deploy:check。在deploy.rb 文件中,我有 private repo git url,在staging.rb 文件中,我将set ssh_options 设置为我从 ec2 实例下载的.pem 文件的位置.
当命令开始运行时,它可以正常连接到服务器,但是当它尝试访问 git repo 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 时,它会失败并显示以下消息:
Permission denied (publickey).
fatal: Could not read from remote repository.
一直在在线研究这个问题,从我收集的信息来看,似乎我需要为 GitHub 和 ec2 服务器使用相同的 SSH。可能是我的信息不正确……到目前为止一直没有成功。
希望对这个问题提出一些建议。感谢您的宝贵时间。
【问题讨论】:
-
您需要将公钥注册到您的 GitHub 用户帐户。
-
如果当前是 .pem 文件,我该怎么做?
标签: ruby-on-rails git github ssh amazon-ec2