0

我刚刚根据指南成功地为 Windows 构建了 SparkleShare:

https://github.com/wimh/SparkleShare/wiki

并将我的 ssh 公钥导出到服务器。问题是我无法从 http_proxy 后面的客户端连接到在自定义端口上运行 ssh 的公共服务器。我也有克隆任何 git 服务器的问题。我需要将 git:// 协议切换到 http:// 一个。有什么建议吗?有没有人有类似的经历?

这是一个日志文件:

15:25:13 [SSH] ssh-agent 启动,PID=4380 添加身份:C:\Users\MYUSER\AppData\Roaming\sparkleshare\sparkleshare.MYEMAIL.key (C:\Users\sg0922706\AppData\Roaming\sparkleshare \sparkleshare.MYEMAIL.key) 15:25:34 [Fetcher][C:\Users\MYUSER\Documents\SparkleShare.tmp\share] 获取文件夹:ssh://MYGITUSER@MYHOST/MYPATH 15:25:34 [ Fetcher] 禁用主机密钥检查 MYHOST 15:25:34 [Cmd] git clone --progress "ssh://MYGITUSER@MYHOST/MYPATH" "C:\Users\MYUSER\Documents\SparkleShare.tmp\share" 15: 25:37 [Git] 退出代码 128 15:25:37 [Fetcher] 失败 15:25:37 [Fetcher] 为 MYHOST 启用主机密钥检查

4

2 回答 2

1

要让 SparkleShare 使用您的代理,您需要修改作为 SparkleShare 的一部分安装的 msysgit 的配置。在记事本中导航并编辑 gitconfig 文件,并在标记C:\Program Files (x86)\SparkleShare\msysgit\etc下添加以下行[http]

proxy = http://user:pass@proxyurl:port

根据需要修改 url 以匹配您的设置。然后,您可以使用“在我自己的服务器上”选项添加存储库的 http url。

于 2012-12-31T15:53:22.537 回答
0

我有一个解决这个特定问题的方法。我猜您已经通过一个简单的 SSH 客户端(即 PuTTY)成功连接到您的服务器?使用 PuTTY,您可以通过任何类型的代理(例如 HTTP、SOCKS、Telnet 等)轻松配置 ssh 连接

您现在可以做的是指定一个本地“隧道”(SSH 端口转发规则),如下所示:L22 127.0.01:22(见附件)。如果您使用的是 ssh 命令行,请添加以下选项:-L 22:127.0.01:22。

PuTTY 中的本地隧道

因此,现在只要您的终端打开并运行,您就可以通过服务器 url 访问您的 git 服务器:ssh://git@127.0.0.1。

如果您的本地端口 22 繁忙,您可以在其他端口上定义隧道网。即如果44没有被占用:L44 127.0.0.1:22。在 SparkleShare 中使用的 url 变为 ssh://git@127.0.0.1:44。

在 SparkleShare

但这是一种解决方法。我正在寻找更好的解决方案。

于 2012-09-06T08:06:21.350 回答