在gitlab,github上面拷貝代碼時(shí)屯远,通常用到了git clone https://XXX
命令。其中HTTPS指HTTP+TLS/SSL
(一種安全的網(wǎng)絡(luò)傳輸協(xié)議)坡脐。ssl協(xié)議位于網(wǎng)絡(luò)應(yīng)用層和傳輸層之間备闲,主要為應(yīng)用層提供加密服務(wù)捅暴,https即為http協(xié)議使用ssl協(xié)議加密傳輸數(shù)據(jù)。
配置
git使用HTTPS協(xié)議操作的時(shí)候泻骤,只需要提供相應(yīng)的用戶(hù)名
和密碼
。
驗(yàn)證原理
ssl認(rèn)證需要首先驗(yàn)證服務(wù)器有有效的證書(shū)演痒,對(duì)服務(wù)器的認(rèn)證是通過(guò)非對(duì)稱(chēng)秘鑰的方式,該非對(duì)稱(chēng)秘鑰由第三方公證機(jī)構(gòu)CA提供瓶埋。然后通過(guò)該非對(duì)稱(chēng)密鑰對(duì)和服務(wù)器私密的協(xié)商后續(xù)數(shù)據(jù)傳輸使用的加密算法以及用于生成對(duì)稱(chēng)秘鑰的一些隨機(jī)數(shù)據(jù)。ssl握手協(xié)議結(jié)束后會(huì)產(chǎn)生只有client和server知道的對(duì)稱(chēng)加密秘鑰曾撤,而該秘鑰也用后續(xù)所有傳輸數(shù)據(jù)的加密晕粪。
- username&password驗(yàn)證對(duì)repo的操作權(quán)限 ;
- tls/ssl對(duì)傳輸數(shù)據(jù)進(jìn)行加密
特點(diǎn)
- https方式使用賬號(hào)和密碼授權(quán)巫湘,簡(jiǎn)單易用,便于進(jìn)行權(quán)限細(xì)分管理诀诊,而且防火墻一般會(huì)打開(kāi) http 和https協(xié)議的端口號(hào)80 和 443阅嘶。
- 可以進(jìn)行匿名訪(fǎng)問(wèn),對(duì)于開(kāi)源項(xiàng)目抡蛙,其他人即使沒(méi)有任何權(quán)限也可以方便進(jìn)行除提交之外的克隆和讀取操作粗截。但是可能需要每個(gè)項(xiàng)目成員都有一個(gè)代碼托管平臺(tái)的賬號(hào)捣炬,而且缺乏憑證管理的話(huà),可能要頻繁的進(jìn)行賬號(hào)密碼輸入遥金。