一、使用SSH key認證連接GitHub
在使用VSCode連接GitHub時,可能會遇到需要輸入用戶名和密碼的情況。然而,由於GitHub啟用了兩步驗證等安全措施,輸入用戶名和密碼登錄GitHub後,仍然無法連接成功。這時候,我們可以使用SSH key認證方式連接GitHub。以下是具體步驟:
1、首先,在終端中輸入以下命令,生成SSH key:
ssh-keygen -t rsa -b 4096 -C "youremail@example.com"
其中,youremail@example.com為你在GitHub上的郵箱地址,在GitHub倉庫的設置中可以看到。
2、生成成功後,進入.ssh目錄(Windows系統屬於當前用戶目錄下的.ssh目錄)下,可以看到兩個文件:id_rsa和id_rsa.pub。後者就是我們需要填入GitHub的公鑰。
3、在GitHub個人設置中添加公鑰:
- 進入GitHub倉庫,點擊右上角頭像,選擇Settings/SSH and GPG keys,進入頁面
- 點擊New SSH Key,填寫Title(隨意),將id_rsa.pub文件中的內容複製到Key文本框中
- 點擊Add SSH Key,保存公鑰
4、配置VSCode連接GitHub:
- 打開VSCode,按下Ctrl+Shift+P,調出命令面板
- 輸入「ssh open in remote」,選擇「Remote-SSH: Open Configuration file…」,編輯配置文件
- 在文件中添加以下內容,保存並退出:
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
5、重新打開VSCode,連接GitHub即可。
二、在GitHub上生成個人訪問令牌
如果你使用SSH key認證方式連接GitHub仍然失敗,還可以嘗試使用個人訪問令牌(Personal Access Token)進行連接,步驟如下:
1、在GitHub個人設置中生成個人訪問令牌:
- 進入GitHub倉庫,點擊右上角頭像,選擇Settings/Developer settings/Personal access tokens,進入頁面
- 點擊Generate new token,填寫Token description(隨意),勾選repo許可權,點擊Generate token
- 注意:生成的Token只會顯示一次,請複製保存
2、配置VSCode連接GitHub:
- 打開VSCode,按下Ctrl+Shift+P,調出命令面板
- 輸入「Remote-SSH: Open Configuration file…」,編輯配置文件
- 在文件中添加以下內容,替換為上一步中複製的Token,保存並退出:
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
IdentityFile ~/.ssh/id_rsa
AddKeysToAgent yes
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa 2
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa 3
IdentityFile ~/.ssh/id_rsa 4
LogLevel verbose
ServerAliveInterval 120
ServerAliveCountMax 20
proxyCommand ssh -q -W %h:%p mybastion
UserAgent VSCodeSSHd
IdentityFile ~/.ssh/id_rsa
3、重新打開VSCode,連接GitHub即可。
三、檢查網路連接是否正常
如果前兩種方法都無法解決問題,我們也需要檢查一下網路連接是否正常,步驟如下:
1、檢查網路是否連接:
- 打開VSCode,按下Ctrl+Shift+P,調出命令面板
- 輸入「Preferences: Open User Settings」,打開用戶設置
- 搜索「http.proxy」,如果有值,則需要檢查代理設置是否正確
2、檢查防火牆設置:
- 如果使用Windows系統,需要檢查Windows Defender防火牆是否開啟
- 如果使用Mac系統,需要檢查系統防火牆是否開啟
3、使用命令行測試網路連接:
在終端中輸入以下命令:
ping github.com
如果能夠正常接收響應,則說明網路連接正常。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/190626.html