设置远程Git SSH(混帐上传包/混帐接收包)(Setup Git Remote SSH (git

2019-06-26 16:07发布

我有SSH访问的服务器,我想将一个Git起源回购那里。 我刚刚创建了一个--bare --shared回购本地并将其复制到每个SCP服务器。 现在,我想克隆每SSH URL该回购协议。 我试过了

ssh://USERNAME@HOST/folder1/folder2/gifolder.git
ssh://USERNAME:PASSWORD@HOST/folder1/folder2/gifolder.git
ssh://USERNAME@HOST:PORT/folder1/folder2/gifolder.git
ssh://USERNAME@HOST:/folder1/folder2/gifolder.git

以及上述的一些更多的组合。 但混帐总说

"fatal: The remote end hung up unexpectedly"

虽然我启用了用户名和密码每SSH连接到主机。

是否有可能与我想要的方式git的工作,或者我必须设置它完全不同的?

更新:

我配置Git的扩展使用OpenSSH,而不是腻子现在OpenSSH的问我:“克隆”后输入密码。 当我输入正确的密码,我发现了以下错误:

bash: git-upload-pack: command not found

(OpenSSH的似乎得到到服务器的连接,因为它要我,当我进入别的重新输入我的密码),所以。 现在我需要解决这个新问题。 首先:我不能够在服务器上安装的git。 是否有可能使“混帐上传包”和“混帐收到包”提供,无需安装混帐?

再次感谢

UPDATE2 - 解决方案:

解决的办法是远程仓库目录集成为每SSH / SFTP本地目录。 我使用http://www.expandrive.com/用于这一目的。 谢谢

Answer 1:

你不应该需要输入建立SSH连接时,输入密码:
如果你的公钥对的〜/ .ssh / authorized_keys中发表的,这应该是足够了。

您可能需要一个密码,如果你的私钥由一个密码保护(在这种情况下,请参阅“ ssh守护进程要求输入密码 ”,你可能需要一个ssh-agent )。

否则,请参阅“ 无法Git的推高手Github的 ”了解SSH调试技巧,其中包括:

  • ssh -vvvT ssh://USERNAME@HOST (确保HOME定义,特别是如果你在Windows上:见“ Heroku的主推ssh问题 ”)
  • 检查的sshd的日志服务器上(例如在/var/log/secure ,但它可以取决于操作系统而异)

OpenSSH是一个安全的选择(与mysysgit包装),但它仍需要您正确定义%HOME%。

同样, ssh -vvvT将在这里帮助。

首先:我不能够在服务器上安装的git。
是否有可能使“ git-upload-pack ”和“ git-receive-pack ”提供,无需安装混帐?

不,这是不可能的。

git必须安装,并在路径sshd (的ssh服务器上运行的守护进程)。


该andineupert OP在评论中得出结论:

由于在服务器上安装的git的需要(这我做不到),我只好到远程回购目录集成为每SSH / SFTP本地目录。
现在一切的工作。



Answer 2:

当正在执行的SSH您需要的二进制文件混帐上传包混帐收到包在遥控器上的路径。

如果不将它们配置为这样的存储库中的每一个远程链接

git config remote.origin.uploadpack /somepath/git/git-upload-pack
git config remote.origin.receivepack /somepath/git/git-receive-pack

其中原点是远程的。



文章来源: Setup Git Remote SSH (git-upload-pack / git-receive-pack)