2012-08-01 60 views
4

我有一個SSH訪問服務器,我想在這裏放置一個Git origin repo。我剛剛在本地創建了一個--bare --shared回購協議,並將其複製到每個SCP的服務器上。現在我想根據SSH網址克隆這個回購。我試過安裝Git遠程SSH(git-upload-pack/git-receive-pack)

ssh://[email protected]/folder1/folder2/gifolder.git 
ssh://USERNAME:[email protected]/folder1/folder2/gifolder.git 
ssh://[email protected]:PORT/folder1/folder2/gifolder.git 
ssh://[email protected]:/folder1/folder2/gifolder.git 

和上面的一些更多的組合。但混帳總是說

"fatal: The remote end hung up unexpectedly" 

雖然我啓用了用戶名和密碼在每臺SSH連接。

是否有可能以我想要的方式使用git,還是必須將其設置爲完全不同?

UPDATE:

我配置Git的擴展使用OpenSSH,而不是膩子現在OpenSSH的問我:「克隆」後輸入密碼。當我輸入正確的密碼,我發現了以下錯誤:

bash: git-upload-pack: command not found 

(OpenSSH的似乎得到到服務器的連接,因爲它要我重新輸入,當我進入我的東西密碼其他)所以。現在我需要解決這個新問題。首先:我沒有啓用在服務器上安裝git。是否可以在不安裝git的情況下使「git-upload-pack」和「git-receive-pack」可用?

再次感謝

UPDATE2 - 解決方案:

的解決方案是遠程倉庫目錄集成爲每SSH本地目錄/ SFTP。爲此,我使用http://www.expandrive.com/。 感謝

回答

3

建立SSH連接時,您應該不需要輸入密碼:
如果你的公鑰對的〜/ .ssh/authorized_keys中發表的,這應該是足夠了。

如果您的私鑰受密碼保護(在這種情況下,請參閱「ssh daemon asks for a password」,您可能需要ssh-agent),您可能需要密碼。

否則,請參閱 「Unable to Git-push master to Github」 瞭解SSH調試技巧,包括:


打開的ssh是一個更安全的選擇(並且與mysysgit一起打包),但它仍然需要您正確定義%HOME%。

再次,ssh -vvvT將在這裏幫助。

First of all: I'm not enabled to install git on the server.
Is it possible to make " git-upload-pack " and " git-receive-pack " available without installing git?

不,這是不可能的。

git必須安裝,並在sshd路徑(在服務器上運行的ssh守護進程)。


OP andineupert總結了評論:

Due to the need to install git on the server (which I couldn't) I had to integrate the remote repo-dir as a local dir per SSH/SFTP.
Now everything's working.

+0

它現在似乎是另一個問題,但謝謝! – andineupert 2012-08-01 12:19:18

+0

@andineupert好的,我已經更新了我的答案。 – VonC 2012-08-01 13:08:54

+1

由於需要在服務器上安裝git(我不能),我必須將遠程repo-dir作爲每個SSH/SFTP的本地目錄來集成。現在一切正常。 – andineupert 2012-08-02 09:21:43

2

您需要的二進制文件混帳上傳包 & 混帳收到包在遙控器上的路徑,而一個SSH是正在執行。

如果不是這樣

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

其中起源在你的倉庫每個遠程鏈路配置它們是遠程。