Git在推向Bitbucket方面做得很好,直到最近除了DNS服务器设置的变化之外,还有很多变化。
错误:
许可被拒绝(公钥)。
致命的:无法从远程存储库读取。请确保您拥有正确的访问权限 存储库存在。
我使用keygen创建一个新密钥,使用Git Bash添加密钥(添加并接受密钥),然后手动将密钥添加到Bitbucket SSH。但是,它仍然会产生同样的错误。
不确定出了什么问题,是否有人有相同的经验并能够提供帮助?
其他信息或尝试排查
git remote -v
,一次推,列出一个拉项ssh -T git@bitbucket.org
- 错误:权限被拒绝(公钥)。ssh-add -l
- 错误:无法打开与身份验证代理的连接。ssh -vT git@github.com
- 错误ssh -Tv git@bitbucket.org OpenSSH_6.6.1,OpenSSL 1.0.1i 2014年8月6日
debug1: Connecting to bitbucket.org [131.103.20.167] port 22.
debug1: Connection established.
debug1: identity file /.ssh/id_rsa type -1
debug1: identity file /.ssh/id_rsa-cert type -1
debug1: identity file /.ssh/id_dsa type -1
debug1: identity file /.ssh/id_dsa-cert type -1
debug1: identity file /.ssh/id_ecdsa type -1
debug1: identity file /.ssh/id_ecdsa-cert type -1
debug1: identity file /.ssh/id_ed25519 type -1
debug1: identity file /.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH_5* compat 0x0c000000
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<3072<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: Server host key: RSA 97:8c /* rest of numbers */
debug1: Host 'bitbucket.org' is known and matches the RSA host key.
debug1: Found key in /.ssh/known_hosts:1
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: Trying private key: /.ssh/id_rsa
debug1: Trying private key: /.ssh/id_dsa
debug1: Trying private key: /.ssh/id_ecdsa
debug1: Trying private key: /.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).
- ssh-agent -s
,错误:
SSH_AUTH_SOCK=/tmp/ssh-2KEE1p8SGXPg/agent.1900; export SSH_AUTH_SOCK; SSH_AGENT_PID=2712; export SSH_AGENT_PID; echo Agent pid 2712;
答案 0 :(得分:1)
消息&#34;无法打开与您的身份验证的连接&#34;意味着没有代理正在运行(或至少无法访问)。
ssh-agent bash # start a new agent
ssh-add # add your key
ssh-add -L # verify that your key is the same as on the server
ssh git@bitbucket.org # should work now
git clone git@bitbucket.org:xyz # (or something like this) should work, too
答案 1 :(得分:1)
您需要运行ssh-agent
命令,然后导出运行时显示的变量。要做到这一点,你可以这样做:
eval `/usr/bin/ssh-agent`
ssh-agent
命令的输出是一个有效的shell脚本,在执行时(也称为evaled)将设置ssh-agent
程序与使用它的其他程序之间通信所需的正确env变量。 / p>
在运行此命令之前,请确保删除现有的ssh-agent
进程。
之后使用通常的ssh-add
命令列出并添加密钥,然后ssh
应该可以正常工作。
答案 2 :(得分:1)
我知道这个答案可能不是最好的答案,但我设法让它使用以下步骤。 (免责声明:我还不知道出了什么问题)
kill PIDnumber
逐个杀死所有ssh-agent进程。不知怎的,我有一个完整的代理进程运行列表。当我尝试从系统中卸载Git时,我看到了这个PID列表。ssh -T git@bitbucket.org
+输入了密码,以便用户登录并确认