我有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/用于这一目的。 谢谢
你不应该需要输入建立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本地目录。
现在一切的工作。
当正在执行的SSH您需要的二进制文件混帐上传包和混帐收到包在遥控器上的路径。
如果不将它们配置为这样的存储库中的每一个远程链接
git config remote.origin.uploadpack /somepath/git/git-upload-pack
git config remote.origin.receivepack /somepath/git/git-receive-pack
其中原点是远程的。