gpt4 book ai didi

ssh 上的 git 守护进程 - 致命 : protocol error: bad line length character: SSH-

转载 作者:行者123 更新时间:2023-12-02 14:07:16 24 4
gpt4 key购买 nike

我在服务器端创建了用户“gitproxy”,将我的 ssh key 添加到其授权 key 中,并尝试通过 ssh 使用 git 守护进程:

gitproxy:~$ git daemon --port=2222 --verbose

但有错误:
在客户端:
o:~/git$ git clone ssh://server>:2222/home/gitproxy/git
Cloning into 'git'...
ssh: connect to host <server> port 2222: Connection refused
fatal: Could not read from remote repository.

在服务器端:
[18666] Ready to rumble
[18667] Connection from 192.168.211.174:42416
fatal: protocol error: bad line length character: SSH-
[18666] [18667] Disconnected (with error)

repo 是存在的。此外,我通常通过 SSH 进入此服务器,无需密码(因此,我的 ssh key 被接受):
$ ssh gitproxy@192.168.201.84
gitproxy@192.168.201.84:~$

此外,我可以从我的桌面(客户端)获取带有 git-receive-pack 的分支列表:
$ ssh gitproxy@192.168.201.84  git-receive-pack  /home/gitproxy/git
008fef8bbf80818e6b634ca56c3ef6c24e5bbdb7bf74 refs/heads/masterreport-status delete-refs side-band-64k quiet atomic ofs-delta agent=git/2.16.1
0046ef8bbf80818e6b634ca56c3ef6c24e5bbdb7bf74 refs/remotes/origin/HEAD
0048ef8bbf80818e6b634ca56c3ef6c24e5bbdb7bf74 refs/remotes/origin/master

我检查了 stackoverflow 上提出的所有可能的修复。但是 git daemon 仍然返回错误。
我将非常感谢任何帮助。提前致谢!

最佳答案

But I need for --access-hook of git daemon (or any other mechanism for executing some actions when I run "git pull" on client side).



然后,仅使用 SSH(根本没有 git 守护进程),您可以使用 SSH forced command mechanismI illustrate for instance with gitolite .

在 ~gitproxy/.ssh/authorized_keys 中,您可以调用任何您想要执行操作的脚本,然后使用 $SSH_ORIGINAL_COMMAND 调用 Git 本身。 (其中将包括“ git-upload-pack|git-receive-pack|git-upload-archive" Git 命令)。

你甚至可以安装 gitolite 本身,因为它会为您管理授权部分。

关于ssh 上的 git 守护进程 - 致命 : protocol error: bad line length character: SSH-,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48480723/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com