git push 返回 "fatal: protocol error: bad line length character"

标签 git ssh authorized-keys

我在我拥有的共享主机帐户上设置了一个远程 Git 存储库。为了允许其他开发人员推/pull ,我将他的公钥 (id_rsa.pub) 添加到共享主机上 .ssh/authorized_keys 的末尾。然后他就可以做“git push”了。但是我想确保他不能在我的共享主机上做任何其他事情,只能访问 git,所以我将这个添加到了他在授权 key 的开头,根据 man authorized_keys :

command="/usr/bin/git",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa ...

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

我用谷歌搜索过,发现其他人也有这个问题,但是如果不允许其他用户访问我的共享主机帐户上的 shell,就无法找到足够的答案来解决这个问题。

最佳答案

您需要限制其他开发人员的 key 运行 git-shell 如在

command="/usr/bin/git-shell -c\"${SSH_ORIGINAL_COMMAND:-}\"",no-port-...

关于git push 返回 "fatal: protocol error: bad line length character",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3224340/

相关文章:

git - 为什么git子模块显示错误的分支

git - 为 Git fork 更新 go Assets 路径

amazon-web-services - (google-chrome:23461):Gtk警告**:12:34:29.640:无法打开显示:

Ansible - 如何将文件内容连接到变量中

linux - 在无密码 ssh 登录后检查远程用户的身份?

git - 在 libgit2sharp 中使用 TFS PAT 授权

python - 符合 PEP440 和 git 描述部署包中可用的信息

amazon-web-services - scp(安全复制)到 ec2 实例,无需密码

java - jenkins-job-builder 使用凭据插件时生成错误的 xml

authorized_keys 文件中的 Gitolite 用户名