2015-06-28 34 views
2

我想設置Git的遠程SSH服務器來訪問這個使用SSH,但我還沒有找到任何信息如何做到這一點。Git有內置的SSH服務器嗎?

Git是否內置SSH工具來建立這種連接以使用此「開箱即用」?或者我應該使用一些第三方嗎?

回答

3

Git沒有內置的ssh服務器。 GIT中假定

  • git客戶端可以使用ssh二進制發起SSH連接
  • git服務器(至少在Unix)可被調用從服務器ssh運行的命令。

你可能熟悉的語法

ssh foo.bar baz 

它運行在foo.barbaz。 git客戶端使用類似的配置來運行ssh服務器,該服務器依次運行服務器端git二進制文件(與客戶端相同的二進制文件,但使用不同的標誌運行)。通常你會有一個git用戶這樣做。你可以做到這一點沒有比sshgit其他任何程序(見第一個答案here),但你可能會發現安裝gitolite使事情變得更容易(在本質上你的git的服務器配置也存儲在一個git回購,這樣你就不必做通過登錄進行任何服務器端維護)。

+0

使用「客戶端」和「服務器」可能會有點混淆,因爲它在兩端都是相同的。 –

+0

@ThorbjørnRavnAndersen修復 – abligh

+0

SSHD守護進程需要啓動並運行(換句話說,ubuntu上的service ssh start),還是每個連接都按需運行ssh二進制文件,然後退出?此外,例如,如果我做了推翻ssh服務器需要進程來處理請求 - 一個用於SSH和一個用於git - 或者它是在同一個進程中處理? – Ole

1

不,我很抱歉。 您需要安裝合適的ssh工具(如openssh)並將您的服務器配置爲允許ssh。之後,您只需在您的服務器上登錄init a bare存儲庫,然後將您的ssh密鑰複製到您的服務器。