use*_*899 101 git ssh authorized-keys
我设置了一个git服务器,现在想要从客户端推送我的repo.我使用git push origin master
并收到此错误消息:
fatal: protocol error: bad line length character: Unab
Run Code Online (Sandbox Code Playgroud)
我不知道出了什么问题.我不知道"Unab"是什么.我试图调整shell的大小,但它仍然是"Unab".我找不到此错误消息的解决方案.
我用"authorized_keys"和SSH设置服务器.(我可以使用SSH连接到它.)
这似乎是一个git问题?
BTW:服务器设置在Windows 7 VM中
Edw*_*son 105
此错误消息有点迟钝,但它实际上试图告诉您的是远程服务器没有回复正确的git响应.最终,运行该git-receive-pack
进程的服务器出现问题.
在Git协议中,前四个字节应该是行长度.相反,他们是人物Unab
......这可能是某种错误信息的开始.(也就是说,它可能是" Unable to...
"做某事).
你跑的时候会发生什么ssh <host> git-receive-pack <path-to-git-repository>
?您应该看到您的git客户端正在进行操作的错误消息,您可以更正它.
Sto*_*ica 53
我有类似的问题,但确切的错误信息是:
致命:协议错误:行长度不好字符:Usin
这是在Windows中,GIT_SSH
设置为plink.exe
PuTTY 的路径.
可能的问题和解决方案
plink.exe
正确.例如,Unix样式路径也可以正常工作/c/work/tools/PuTTY/plink.exe
pageant.exe
)的密钥代理正在运行Chr*_*rom 17
也许你在服务器的.bashrc中有一个产生输出的声明.我,例如有这个:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
rvm use ruby-1.9.3-p194@rails32
Run Code Online (Sandbox Code Playgroud)
在这种情况下,rvm使用的输出将(错误地)解释为来自git.所以替换它:
rvm use ruby-1.9.3-p194@rails32 > /dev/null
Run Code Online (Sandbox Code Playgroud)
Ami*_*hah 17
对于GitExtension用户:
将git升级到2.19.0后,我遇到了同样的问题
解:
工具>设置> Git扩展> SSH
选择[ OpenSSH ]而不是[ PuTTY ]
小智 16
在Windows上安装GIT后,我遇到了同样的问题.起初它起作用了; 然后,一天后(PC重启后),它不再了,我得到了这个:
$ git pull
fatal: protocol error: bad line length character: git@
Run Code Online (Sandbox Code Playgroud)
问题是重启后,自动启动的Putty"pageant.exe"没有私钥活动了.在pageant中添加键时,默认情况下它不是持久性设置.我只需要再次添加密钥,它工作正常.因此,对于这种情况,有必要使pagenant自动加载密钥,如下所述:
小智 9
您可以将任何输出重定向.bashrc
到stderr
:
# inside .bashrc
echo 'some error/warning/remind message' 1>&2
Run Code Online (Sandbox Code Playgroud)
git会忽略这个符号
我在使用Git Bash的Windows上遇到了类似的问题.在尝试进行git克隆时,我一直收到此错误.存储库位于安装了GitLab的Linux机器上.
git clone git@servername:path/to/repo
fatal: protocol error: bad line length character: git@
Run Code Online (Sandbox Code Playgroud)
我确保生成了ssh密钥.公钥已添加到GitLab上.ssh-agent正在运行,并且添加了生成的密钥(github链接).
我没有选择,然后最终尝试关闭Git Bash并通过右键单击"以管理员身份运行"再次打开它.在那之后工作.
对我来说是因为我最近添加了
RequestTTY force
Run Code Online (Sandbox Code Playgroud)
进入.ssh/config
对此进行评论可以使其正常工作
小智 5
这可能会帮助某人。当我尝试从EC2实例克隆项目时,出现以下错误:
Cloning into 'repo1'...
fatal: protocol error: bad line length character: logi
Run Code Online (Sandbox Code Playgroud)
对我来说,解决方法包括以下步骤:
将EC2 SSH密钥ID用作git clone的公共密钥。例:
git clone ssh:// {SSH密钥ID}@someaccount.amazonaws.com/v1/repos/repo1