當前位置:法律諮詢服務網 - 企業資訊 - Git http ssh哪個好?

Git http ssh哪個好?

各有利弊。總的來說,HTTP更簡單,應用更廣泛。

以下參考:(Git官方服務器協議文檔)

Git可以使用四種主要的協議來傳輸數據:本地協議、HTTP協議、SSH(Secure Shell)協議和Git協議。

HTTP協議(智能HTTP協議)

Git 1.6.6引入了新的更智能的HTTP協議版本,使Git能夠像通過SSH壹樣智能地協商和傳輸數據。新版HTTP協議壹般稱為“智能”HTTP協議,舊版壹般稱為“啞”HTTP協議。

“智能”HTTP協議的運行方式與SSH和Git協議類似,只是它運行在標準的HTTP/S端口上,可以使用各種HTTP身份驗證機制,這意味著它比SSH協議簡單得多,例如HTTP協議的用戶名/密碼的基本授權和設置SSH公鑰的需要。

智能HTTP協議可能是Git最流行的使用方式,它支持像git://協議壹樣設置匿名服務,像SSH協議壹樣提供傳輸過程中的授權和加密。而且只需要壹個URL就可以完成,省去了針對不同需求設置不同的URL。如果要推送給需要授權的服務器(壹般來說是需要的),服務器會提示妳輸入用戶名和密碼。從服務器獲取數據時也是如此。

其實對於GitHub這樣的服務,妳在網頁上看到的URL(比如Github)和妳克隆推送時使用的是壹樣的(如果妳有權限的話)。

優勢

不同的訪問方法只需要壹個URL,服務器只在需要授權時才提示輸入授權信息,這使得最終用戶使用Git非常簡單。與SSH協議相比,使用用戶名/密碼授權是壹個很大的優勢,這樣用戶就不必在使用Git之前在本地生成SSH密鑰對,然後將公鑰上傳到服務器。對於沒有經驗的用戶,或者系統上缺少SSH相關程序的用戶,HTTP協議的可用性是主要優勢。和SSH協議類似,HTTP協議也非常快速高效。

還有壹個好處就是HTTP/S協議應用廣泛,壹般的企業防火墻都會允許這些端口的數據通過。

劣勢

在某些服務器上,設置HTTP/S協議的服務器端會比SSH協議更困難。除此之外,與“智能”HTTP協議相比,使用其他協議提供Git服務幾乎沒有優勢。

如果在HTTP上使用授權推送,管理憑證會比使用SSH密鑰認證更麻煩。但是,您可以選擇使用憑證存儲工具,如OSX的Keychain或Windows的憑證管理器。有關如何安全存儲HTTP密碼的信息,請參考憑據庫。

SSH協議

在設置Git服務器時,SSH協議經常被用作傳輸協議。因為在大多數環境中已經支持通過SSH的訪問——即使不支持,設置起來也相對容易。SSH協議也是驗證授權的網絡協議;而且,由於它的通用性,很容易設置和使用。

優勢

使用SSH協議有很多優點。首先,SSH的實現相對簡單——SSH daemon非常常見,大多數管理員都有使用它的經驗,大多數操作系統都包含它和相關的管理工具。其次,通過SSH的訪問是安全的——所有傳輸的數據都必須經過授權和加密。最後,和HTTP/S協議、Git協議、本地協議壹樣,SSH協議的效率非常高,在傳輸之前會盡量壓縮數據。

劣勢

SSH協議的缺點是不能通過它匿名訪問。即使只需要讀取數據,用戶也要通過SSH訪問妳的主機,這就使得SSH協議不利於開源項目。如果您只在公司網絡上使用它,SSH協議可能是您需要使用的唯壹協議。如果妳想同時提供匿名只讀訪問和SSH協議,妳得為自己設置壹個SSH服務和壹個可以被其他人訪問的服務。

  • 上一篇:企業存續狀態是什麽意思
  • 下一篇:企業暖心文案
  • copyright 2024法律諮詢服務網