vscode中Git: host key verification failed的解決辦法

保山發表於2019-04-19

背景

最近專案組的原始碼倉庫遷移。本著“偷懶”的精神,兩個倉庫我用了一個ssh的pubkey,在新倉庫中使用tortoiseGit來clone、pull、push程式碼沒有問題。但是,想使用vscode的git擴充的時候報錯“Git: host key verification failed”。

探索

這個問題我在網上搜尋了兩三個小時,發現原因是~/.ssh/known_hosts檔案中沒有新倉庫的配置。

[xx.xxx.com]:22,[192.168.0.18]:22 ssh-rsa AAAAB3NzaCAQABAAABAQCTJaeyAMkqozFQqaYhD4iC2XUq9G9jbWUQUcYDfEoLhBOoNTFTjn6uSwHYo7I6QlbFyCxaUqPvbdD2v1v34v4sy+r+M0LAyzaSV5u8rDf45yHK1H8T+PSfoq1FxzdhqmFIarAIneLSYlyit/nqiTI6jSHVKdUAMaOjKPCiMHddubDLYfvf0sF29tNthhzFMTDNX9qy5WvkDGHn5FNUwkFPJLbIJ+xuBJfgmvf+HhDvwVyo45Ip9kiz+Uv/2HtAavHRaJnYMERVHCsGW5gkSmOZ44BVv+OK+zrIqjQik72Umu5xX/wMDkKO6+i1SJYGA+94kw232xY5DNCrhgYVxifP
複製程式碼

於是我複製了老倉庫的配置,修改前邊的ip引數。

[xx.xxx.com]:22,[192.168.0.18]:22 ssh-rsa AAAAB3NzaCAQABAAABAQCTJaeyAMkqozFQqaYhD4iC2XUq9G9jbWUQUcYDfEoLhBOoNTFTjn6uSwHYo7I6QlbFyCxaUqPvbdD2v1v34v4sy+r+M0LAyzaSV5u8rDf45yHK1H8T+PSfoq1FxzdhqmFIarAIneLSYlyit/nqiTI6jSHVKdUAMaOjKPCiMHddubDLYfvf0sF29tNthhzFMTDNX9qy5WvkDGHn5FNUwkFPJLbIJ+xuBJfgmvf+HhDvwVyo45Ip9kiz+Uv/2HtAavHRaJnYMERVHCsGW5gkSmOZ44BVv+OK+zrIqjQik72Umu5xX/wMDkKO6+i1SJYGA+94kw232xY5DNCrhgYVxifP
[xx.xxx.com]:22,[192.168.0.19]:22 ssh-rsa AAAAB3NzaCAQABAAABAQCTJaeyAMkqozFQqaYhD4iC2XUq9G9jbWUQUcYDfEoLhBOoNTFTjn6uSwHYo7I6QlbFyCxaUqPvbdD2v1v34v4sy+r+M0LAyzaSV5u8rDf45yHK1H8T+PSfoq1FxzdhqmFIarAIneLSYlyit/nqiTI6jSHVKdUAMaOjKPCiMHddubDLYfvf0sF29tNthhzFMTDNX9qy5WvkDGHn5FNUwkFPJLbIJ+xuBJfgmvf+HhDvwVyo45Ip9kiz+Uv/2HtAavHRaJnYMERVHCsGW5gkSmOZ44BVv+OK+zrIqjQik72Umu5xX/wMDkKO6+i1SJYGA+94kw232xY5DNCrhgYVxifP
複製程式碼

做驗證,發現還是不行。

再去搜尋問題,終於找到解決方法,參考連結

該方法使用的是GitGui來自動新增倉庫的known_hosts配置,具體步驟如下:

  1. 在已克隆好的程式碼倉庫,右鍵點選“Git Gui here”
  2. 點選Git Gui工具欄“Remote”,點選“Fetch from > origin”
  3. 彈出的對話方塊中輸入“yes”,點選“ok”確定操作

至此已經完成了新倉庫known_hosts的配置新增,可在~/.ssh/known_hosts檔案中檢視。

如果程式碼還沒有克隆下來,也可以直接使用GitBah,可以達到同樣的效果,同樣參看參考連結

相關文章