背景
最近專案組的原始碼倉庫遷移。本著“偷懶”的精神,兩個倉庫我用了一個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配置,具體步驟如下:
- 在已克隆好的程式碼倉庫,右鍵點選“Git Gui here”
- 點選Git Gui工具欄“Remote”,點選“Fetch from > origin”
- 彈出的對話方塊中輸入“yes”,點選“ok”確定操作
至此已經完成了新倉庫known_hosts的配置新增,可在~/.ssh/known_hosts
檔案中檢視。
如果程式碼還沒有克隆下來,也可以直接使用GitBah,可以達到同樣的效果,同樣參看參考連結。