git推送返回”;致命:协议错误:错误的行长度字符“;

git推送返回”;致命:协议错误:错误的行长度字符“;,git,ssh,authorized-keys,Git,Ssh,Authorized Keys,我在自己的共享主机帐户上设置了一个远程Git存储库。为了允许其他开发人员推/拉,我将他的公钥(id_rsa.pub)添加到共享主机上的.ssh/authorized_密钥的末尾。然后他就能做“推git”了。但我想确保他在我的共享主机上除了访问git之外不能做任何其他事情,因此我在他的授权密钥条目的开头添加了以下内容: 现在,当他执行git push时,它会在命令行上响应“致命:协议错误:错误的行长度字符” 我用谷歌搜索过,发现其他人有这个问题,但在不允许其他用户访问我共享主机帐户上的shell的

我在自己的共享主机帐户上设置了一个远程Git存储库。为了允许其他开发人员推/拉,我将他的公钥(id_rsa.pub)添加到共享主机上的.ssh/authorized_密钥的末尾。然后他就能做“推git”了。但我想确保他在我的共享主机上除了访问git之外不能做任何其他事情,因此我在他的授权密钥条目的开头添加了以下内容:

现在,当他执行git push时,它会在命令行上响应“致命:协议错误:错误的行长度字符”


我用谷歌搜索过,发现其他人有这个问题,但在不允许其他用户访问我共享主机帐户上的shell的情况下,找不到解决这个问题的适当答案。

您需要限制其他开发人员的密钥按中的方式运行


command=“/usr/bin/git shell-c\”${SSH_ORIGINAL_command:-}\”,无端口-…您需要将其他开发人员的密钥限制为按中的方式运行


command=“/usr/bin/git shell-c\”${SSH\u ORIGINAL\u command:-}\”,无端口-…检查
~/.SSH/config
中是否有本地命令,例如

Host *
    LocalCommand echo 'Connected as "'%r'" to "'%h'"' ; echo 'SSH host "'%n'"'
如果是,请确保在使用git服务器时不执行该命令。您可以仅为所需主机覆盖
local命令

Host *github*
    LocalCommand ''

Host *
    LocalCommand echo 'Connected as "'%r'" to "'%h'"' ; echo 'SSH host "'%n'"'

检查
~/.ssh/config
中是否有本地命令,例如

Host *
    LocalCommand echo 'Connected as "'%r'" to "'%h'"' ; echo 'SSH host "'%n'"'
如果是,请确保在使用git服务器时不执行该命令。您可以仅为所需主机覆盖
local命令

Host *github*
    LocalCommand ''

Host *
    LocalCommand echo 'Connected as "'%r'" to "'%h'"' ; echo 'SSH host "'%n'"'

谢谢你,我已经撕了两天头发了。谢谢你,我已经撕了两天头发了。