4

Updatedx3(见下文) 所以我成功地使用了我的 Git Bitbucket 存储库几个月,直到 2012 年 11 月 29 日。直到前几天(2013 年 1 月 24 日),我才尝试再次提交,但无济于事。我在 Cygwin 中重新安装了我的 ssh 服务器,所以我保证我有一个正确的连接。我可以从另一个工作站访问我的服务器,所以我确信这没问题。我还能够使用 ssh 隧道从 Bitbucket 克隆我的存储库而没有问题。但是,当我尝试推送我的更改时(在添加、提交等之后),我得到以下信息:

$ git push origin master    
Enter passphrase for key '/home/[User]/.ssh/id_rsa':    
conq: invalid command syntax.    
fatal: The remote end hung up unexpectedly

我搜索了论坛,常见问题解答等无济于事。这是我的 ssh 的输出:

$ ssh -T git@bitbucket.org
Enter passphrase for key '/home/[User]/.ssh/id_rsa':
conq: logged in as [username].

您可以使用 git 或 hg 连接到 Bitbucket。外壳访问被禁用。

而且,对于 ssh -v:

$ ssh -v
OpenSSH_5.8p1, OpenSSL 0.9.8r 8 Feb 2011
usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-e escape_char] [-F configfile]
[-I pkcs11] [-i identity_file]
[-L [bind_address:]port:host:hostport]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-R [bind_address:]port:host:hostport] [-S ctl_path]
[-W host:port] [-w local_tun[:remote_tun]]
[user@]hostname [command]

和 git --version:

$ git --version
git version 1.7.5.1

正如我所说,ssh 似乎正在工作,这看起来是别的东西。

--Update-- 这是 ssh -v -T git@bitbucket.org 的输出

$ ssh -v -T git@bitbucket.org
OpenSSH_5.8p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to bitbucket.org [207.223.240.181] port 22.
debug1: Connection established.
debug1: identity file /home/[User]/.ssh/id_rsa type 1
debug1: identity file /home/[User]/.ssh/id_rsa-cert type -1
debug1: identity file /home/[User]/.ssh/id_dsa type -1
debug1: identity file /home/[User]/.ssh/id_dsa-cert type -1
debug1: identity file /home/[User]/.ssh/id_ecdsa type -1
debug1: identity file /home/[User]/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.8
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: Server host key: RSA 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40
debug1: Host 'bitbucket.org' is known and matches the RSA host key.
debug1: Found key in /home/[User]/.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: Offering RSA public key: /home/[User]/.ssh/id_rsa
debug1: Remote: Forced command: conq username:[username]
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: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/home/[User]/.ssh/id_rsa':
debug1: read PEM private key done: type RSA
debug1: Remote: Forced command: conq username:[username]
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 bitbucket.org ([207.223.240.181]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
conq: logged in as [username].

You can use git or hg to connect to Bitbucket. Shell access is disabled.
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
debug1: channel 0: free: client-session, nchannels 1
Transferred: sent 2576, received 2984 bytes, in 0.3 seconds
Bytes per second: sent 7759.0, received 8988.0
debug1: Exit status 0

更新(2013 年 2 月 17 日):我搜索了 Bitbucket 网站上的支持页面,但他们只详细说明了如何在 Windows 上使用 GitBash 而不是 Cygwin 设置 Bitbucket。我看到其他人在他们的常见问题解答中遇到了同样的问题,但被提到了 Atlassian 支持。

我开始直接与 Atlassian 支持人员交谈,那个人告诉我查看 Stack Overflow 上的帖子(Git with SSH on Windows)。发布的解决方案不起作用,因此支持代表指示我安装 GitBash 以查看除了 Cygwin 之外是否还有其他问题。我安装了 GitBash 并且能够让它工作,并且可以使用 ssh 或 https 再次推送和克隆。我告诉了代表,他说这是他可以提供的帮助,因为我的问题是我自己的软件。所以我相信我已经将问题缩小到 Cygwin 中的一些机制,这些机制似乎与 SSH 无关,但可能与 git 有关。

更新(2013 年 2 月 18 日): 今天,我确认我也能够从 Cygwin 中提取。所以现在,我只是有推送的问题。我正在考虑将别名映射到 Cygwin 内部的 mysysgit,就像在Errors cloning git project using Cygwin, msysgit Bash shell works中一样,但这可能需要比我现在必须尝试的更多时间。仍在寻找使 Git 在 Cygwin 中本地工作的解决方案。

更新(2013 年 2 月 20 日): 我现在在使用 GitBash 推送时遇到了完全相同的错误。在支持页面查看这个垃圾:https ://bitbucket.org/site/master/issue/4406/invalid-command-synthax

这似乎是一个反复出现的问题,他们的支持不会直接解决。从表面上看,这自 2012 年 6 月以来一直在进行,没有公布任何决议。如果有人读到这篇文章并能给我一些指导,我将不胜感激。目前,我已经使用 HTTPS 切换到 GitBash。

4

4 回答 4

3

请检查{project_folder}/.git/config文件。如果有远程存储库 URL ssh://。删除它并尝试推送操作。

git push -u origin --all

有效的远程存储库 url

url = git@bitbucket.org:{username}/{project-name}.git
于 2015-01-13T20:35:27.100 回答
1

https://bitbucket.org/site/master/issue/4218/conq-invalid-repository-syntax

“对于 SSH 问题,请先在https://confluence.atlassian.com/display/BITBUCKET/Troubleshooting+SSH+Issues尝试我们的故障排除指南。如果您仍然遇到问题,请向 support@bitbucket.org 或http ://answers.atlassian.com支持或社区可以帮助解决您的配置问题。”

于 2013-02-12T01:20:09.390 回答
0

此问题已修复。这是由于某些客户端具有唯一设置的接收包配置。虽然我不知道是什么客户决定设置这个,但许多用户都受到了影响,因为 Bitbucket 的系统并非旨在通过 SSH 处理非连字符的 git 命令语法。Bitbucket 现在已更改此设置以允许 git-receive-pack 和 git receive-pack 工作。

作为参考,请检查您的全局配置,您可能会看到如下内容:

remote.origin.receivepack git receive-pack

默认情况下,它未设置,但默认为git-receive-pack

于 2013-05-08T18:52:35.773 回答
0

我按照这篇博文中的说明进行操作:

http://blog.cyplo.net/2012/10/25/using-git-in-cygwin-with-bitbucketgithubother-key-reliant-service/

在我将 .ssh 文件夹的组从 None 更改为 Users 后,它起作用了

chown abudaan:用户 .ssh -R

于 2014-09-30T10:55:33.990 回答