情景模擬:html
你使用Git+TortoiseGit對項目進行版本控制,本地庫(本身電腦創建的.git)與遠程庫(如GitLab上創建)通訊須要使用ssh驗證,你用git生成公鑰並保存到了Gitlab上,但當你用tortoiseGit拉取項目,卻依然報錯no supported authentication methods availablegit
關鍵點 :github
git生成的公鑰與tortoiseGit生成的公鑰是不一致,不共用的。安全
解決方案:服務器
(1)tortoiseGit關聯git的sshkey,上述情景的問題就解決了ssh
參考:https://stackoverflow.com/questions/3431314/github-no-supported-authentication-methods-availablegitlab
(2)直接用tortoiseGit生成公鑰,並保存到遠程庫中加密
教程:http://www.cnblogs.com/zqifa/p/gitlab-6.htmlspa
簡單理解:版本控制
SSH(Secure Shell)是一種安全協議,在你的電腦與GitLab服務器進行通訊時,須要使用SSH密鑰認證的方式保證通訊安全。遠程端持有公鑰,在收到本地的拉取/克隆請求時,用公鑰對內容加密再傳輸,本地接收時須要用對應的私鑰解密。
補充:git生成ssh公鑰 https://git-scm.com/book/zh/v2/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E7%94%9F%E6%88%90-SSH-%E5%85%AC%E9%92%A5