我打字
git push --set-upstream ssh://antyusos@ftp.anty-usos.host-ed.me/projekt.git master
cmd返回:
antyusos@ftp.anty-usos.host-ed.me 的密码:[这里我输入正确的密码]
致命:协议错误:错误的行长字符:Shel
我究竟做错了什么?
例如,如果您使用 Godaddy 托管,则可能会发生此错误,因为您的 SSH 访问已禁用。
所以服务器立即关闭连接,GIT 向我们展示
fatal: protocol error: bad line length character: Shel.
这意味着我认为外壳访问被拒绝/关闭/等。
转到您的 cPanel 并启用它。cPanel -> Settings -> SSH Access.
即使您之前已经启用它也可能发生这种情况。他们会定期将其关闭。
如果它已经启用,只需禁用并重新启用它。
当我尝试访问 Apache 用户目录中的存储库时出现此错误。[在我的服务器(CentOS 6.4)中,用户是通过 CPanel 组件创建的。]
此错误可能意味着您使用的用户没有 shell 访问权限,只有 web 和 FTP 或其他协议。
如果您可以访问您的 Web 服务器,我将告诉您如何解决它,但请确保您是否无法通过添加新用户来解决它,因为 apache 用户是执行网页的用户,使用它们进行 shell 访问可能造成安全问题。
passwd
在您的编辑器中打开:
vim /etc/passwd
找到包含用户配置的行并检查最后一个路径。它应该是这样的:
antyusos:x:306:307:/home/antyusos:/usr/local/cpanel/bin/noshell
这里重要的是最后一条路径,“/usr/local/cpanel/bin/noshell”。将此行更改为:
antyusos:x:306:307:/home/antyusos:/bin/bash
保存并退出编辑器。
希望它应该工作。至少它对我有用。但正如我所说,我发现它很危险,并且是最后的选择。
祝你好运。
如该线程所示,请确保:
.bashrc
or没有回.profile
显antyusos
某些消息,然后您的服务器上的 git 会错误地解释这些消息。致命:协议错误:错误的行长度字符:Shel
我使用的是godaddy帐户,而Shel是ssh连接错误消息的开头:
没有为此帐户启用Shell 。
我打开了一个客户服务窗口,关闭了外壳然后重新打开,现在它又可以工作了。