git - 为什么 cap deploy 给出 Permission denied (publickey)?

标签 git ssh capistrano ssh-keys public-key

好吧,我对某些事情感到困惑...我能够很好地提交到我的 github 存储库,但是当我尝试从我的本地文件夹执行 cap deploy 到我的暂存服务器时我得到 Permission denied (publickey).

如果我运行 ssh git@github.com 我实际上得到一个错误 PTY allocation request failed on channel 0

所以这里有些地方不对。

如果我运行 ssh -vT git@github.com 我得到:

OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/myuser/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug1: Connecting to github.com [207.97.227.239] port 22.
debug1: Connection established.
debug1: identity file /Users/myuser/.ssh/id_rsa type 1
debug1: identity file /Users/myuser/.ssh/id_rsa-cert type -1
debug1: identity file /Users/myuser/.ssh/id_dsa type -1
debug1: identity file /Users/myuser/.ssh/id_dsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.1p1 Debian-5github2
debug1: match: OpenSSH_5.1p1 Debian-5github2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.6
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in /Users/myuser/.ssh/known_hosts:2
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/myuser/.ssh/github_rsa
debug1: Remote: Forced command: gerve technomad
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: Remote: Forced command: gerve technomad
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Authentication succeeded (publickey).
Authenticated to github.com ([207.97.227.239]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
Hi technomad! You've successfully authenticated, but GitHub does not provide shell access.
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 2384, received 2888 bytes, in 0.1 seconds
Bytes per second: sent 42630.8, received 51643.3
debug1: Exit status 1

我的 key 在 ~/.ssh 文件夹中,那么问题是什么,如果有 key 问题,为什么我可以提交到存储库?

更新: 当我进入我的 .ssh 文件夹时,我确实注意到了一些事情。我在为 Mac 安装 Github 时创建了一个新的 key 对...为什么它不能只使用我不知道的现有 key 对。

最佳答案

我必须执行以下操作:

   $ ssh-add -D   #remove existing identities
   $ ssh-agent    #copy the lines & run them
   $ ssh-add      #uses the output from above

关于git - 为什么 cap deploy 给出 Permission denied (publickey)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7968656/

相关文章:

ssh - 找到匹配的 key ,但仍需要密码 [preauth]

docker : how to share ssh-keys between containers?

ruby - 通过 Capistrano 创建 crontab 而不是使用 crontab -e

git - Jenkins Git fetch 指的是旧提交

ruby - 混帐 & ruby : How can I unset the GIT_DIR variable from inside a ruby script?

git - 忽略 zsh git autocomplete 中的 ORIG_HEAD

linux - 通电后立即启动 python 脚本

ruby-on-rails - 如何从 Capistrano 部署脚本执行捆绑命令

Symfony2 + Capifony Doctrine 迁移

git - 如何根据 blob/tree hash 发现最近的相关提交?