完整解決方案步驟:
1. 檢查并生成 SSH 密鑰
# 打開 Git Bash
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
-
全程按回車(使用默認路徑,不設密碼)
-
密鑰將生成在:
C:\Users\<用戶名>\.ssh\
?目錄下
2. 添加密鑰到 SSH Agent
# 啟動 ssh-agent
eval $(ssh-agent -s)# 添加私鑰
ssh-add ~/.ssh/id_rsa
3. 復制公鑰到剪貼板
# 方法1:使用 clip 命令
cat ~/.ssh/id_rsa.pub | clip# 方法2:手動打開文件
explorer .
# 然后打開 .ssh 文件夾,用記事本打開 id_rsa.pub 文件
4. 在 Gitee 添加公鑰
-
登錄?gitee.com
-
右上角頭像 → 設置 →?SSH 公鑰
-
標題:
Windows PC
(可自定義) -
粘貼公鑰內容(以?
ssh-rsa AAA...
?開頭) -
點擊?確定
5. 驗證連接
ssh -T git@gitee.com
? 成功提示:Hello <你的用戶名>! You've successfully authenticated...
6. 檢查并修正遠程倉庫地址
git remote -v
如果顯示 HTTPS 地址(以?https://
?開頭),需改為 SSH 地址:
git remote set-url origin git@gitee.com:<用戶名>/<倉庫名>.git
注意:地址格式必須是?
git@gitee.com:用戶名/倉庫名.git
7. 重新嘗試推送
git push -u origin master
常見問題排查:
情況1:密鑰未正確加載
# 檢查已加載密鑰
ssh-add -l# 若無顯示,手動添加
ssh-add ~/.ssh/id_rsa
情況2:多密鑰沖突
創建?~/.ssh/config
?文件(無后綴名):
Host gitee.comHostName gitee.comIdentityFile ~/.ssh/id_rsaUser git
情況3:Windows 權限問題
-
右鍵點擊?
.ssh
?文件夾 → 屬性 → 安全 -
確保你的用戶有?完全控制?權限
-
同樣檢查?
id_rsa
?和?id_rsa.pub
?文件權限
情況4:防火墻/殺毒軟件攔截
-
臨時禁用 Windows Defender 防火墻
-
將 Git Bash 加入殺毒軟件白名單
備選方案:使用 HTTPS 推送
如果 SSH 仍不可用:
# 切換為 HTTPS 地址
git remote set-url origin https://gitee.com/<用戶名>/<倉庫名>.git# 推送時輸入 Gitee 賬號密碼
git push -u origin master
注意:從 2021 年起,Git 要求使用個人訪問令牌代替密碼
成功推送后的輸出示例:
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Writing objects: 100% (3/3), 285 bytes | 285.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To gitee.com:yourname/repo.gita1b2c3d..f4e5d6c master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
如果仍然遇到問題,請提供以下信息以便進一步排查:
-
ssh -T git@gitee.com -v
?的完整輸出 -
git remote -v
?的輸出 -
你的公鑰文件前10個字符(用于驗證是否正確添加)