不能在git协议下克隆任何存储库(使用git clone git://)



我使用的是Ubuntu 16.04。我不能克隆任何存储库(例如git://yoctoproject.org/poky;git://git.gnome.org/jhbuild;git://git.gnome.org/rhythmbox等)在git协议下。

我用ssh-keygen生成了公钥和私钥,并把它们放在~/文件夹中。ssh/.

它可以在https协议下下载git存储库(如https://github.com/mozilla/gecko-dev)。我已经尝试了选项"使用https://代替git://"克隆上面的git仓库,但它没有工作。我检查了不同的互联网连接(家庭和工作),删除了代理,但它不起作用。

当我尝试克隆时,我得到的错误是:- fatal:无法连接到"hostname";errno=连接超时/无错误。—ssh:连接主机hostname,端口22:连接超时请确保您有正确的访问权限并且存储库存在。

我的想法是,在某种程度上,对于每个git://存储库,我需要将我的公钥添加到主机authorized_keys文件夹,但我不知道如何做到这一点(如果它是解决我的问题)。有人能给我一个工作的例子,如何克隆一个repo与git://协议?

我的想法是,在某种程度上,对于每个git://存储库,我需要将我的公钥添加到主机authorized_keys文件夹,但我不知道如何做到这一点(如果它能解决我的问题)。

你能访问运行仓库的机器吗?如果是,可以使用以下命令将公钥复制到服务器:

cat ~/.ssh/id_rsa.pub | ssh user@123.45.56.78 "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"

如果您没有访问机器的权限,您可以将您的公钥发送(电子邮件)给管理员。

有人可以给我一个工作的例子,如何克隆一个repo与git://协议?

当您可以访问存储库时,使用以下命令:

git clone git@123.45.56.78:/opt/git/repository.git

我有同样的问题,其中我能够克隆ssh://http://协议下的任何回购,但只有在使用git://协议时才会失败。我可以克服这个问题。您需要设置gitproxy。要求是任何双向中继工具,如socat

在主环境中创建一个gitproxy文件。在声明PROXY

之后包含这一行
exec socat STDIO SOCKS4:$PROXY:$1:$2

在~/中添加这一行。Gitconfig [core] tab:

gitproxy = /home/<linux username>/bin/gitproxy

使其成为可执行文件:

chmod +x ~/.gitproxy

最新更新