TortoiseGit的SSH Client是個坑

前言

現在比較流行使用git來進行代碼的管理,公司內部一般使用gitlab來搭建Git服務器(中央服務器),而我們需要在自己的電腦上安裝git(本地git服務器),並安裝一個TortoiseGit客戶端。我們可以使用SSH或者HTTPS(HTTP)兩種協議來操作中央服務器上的repository。

問題

1:當通過SSH協議方式操作中央服務器上的repository時,出現以下問題;問題的大概意思是:沒有可用的支撐驗證方法(服務器發送公鑰)

2:我們都知道如果要使用SSH協議來操作github或者gitlab上的repository時,需要在本地電腦上使用git命令生成一對公鑰和私鑰,然後把公鑰配置到github或者gitlab裏,私鑰在本地電腦上存放(不會設置可以查看《設置github使用的SSH key》);這樣一來用SSH協議操作中央服務器上的repository時,就不用再輸入賬號和密碼來進行驗證,而是git自動使用公鑰和私鑰進行對比,從而驗證身份(重點:git使用本地的私鑰和中央服務器上的公鑰進行對比)。我們打開TortoiseGit上的Settings,查看Settings裏的Network,會發現如下圖:ssh client使用的是TortoiseGit的命令行工具,而不是git的命令行工具,所以這個TortoiseGitPlink.exe找不到私鑰在哪裏,並不會發送給中央服務器和公鑰做對比。(直接用git的bash命令行來操作repository就沒有這個問題的存在)

3:修改TortoiseGit的Settings裏的NetWork如下圖,換成使用Git自己的ssh命令行工具

4:再次操作中央服務器上的repository,成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章