Git通過配置SSH密鑰對實現(xiàn)免登錄的完整指南
概述
在使用 Git 進行版本控制時,每次推送代碼都需要輸入用戶名和密碼會嚴重影響工作效率。通過配置 SSH 密鑰對,可以實現(xiàn)免密碼認證,讓 Git 操作更加便捷安全。
配置步驟
1. 生成 SSH 密鑰對
使用以下命令生成 RSA 密鑰對,其中 Hettyka 是標識符,可根據(jù)需要自定義:
ssh-keygen -t rsa -b 4096 -C "Hettyka"

執(zhí)行過程說明:
- 系統(tǒng)會提示選擇密鑰保存路徑,默認按 Enter 使用推薦路徑
- 設置密鑰密碼(可選,直接按 Enter 跳過)
- 生成完成后會顯示密鑰指紋和隨機字符圖像
生成的文件:
id_rsa:私鑰文件(必須保密) id_rsa.pub:公鑰文件(可公開)

2. 配置公鑰到代碼托管平臺
以 Gitee 為例:
- 復制公鑰內(nèi)容:
cat ~/.ssh/id_rsa.pub
- 登錄 Gitee,進入「設置」→「SSH 公鑰」
- 添加新的 SSH 公鑰,將復制的公鑰內(nèi)容粘貼到輸入框中
- 填寫標題(可選),點擊確認

3. 配置 SSH 代理
3.1 啟動 SSH 代理
eval "$(ssh-agent -s)"
3.2 添加私鑰到 SSH 代理
ssh-add ~/.ssh/id_rsa
權限問題處理:
如果遇到 Permission denied 錯誤,可能需要使用管理員權限:

這時需要提高私鑰權限:

4. 測試連接
驗證 SSH 連接是否配置成功:
ssh -T git@gitee.com

成功時會顯示歡迎信息,確認密鑰已正確配置。
5. 配置 Git 遠程倉庫
查看當前遠程倉庫地址
git remote -v
更換為 SSH 地址
如果當前使用 HTTPS 地址,需要更換為 SSH 協(xié)議:
git remote set-url origin 你的ssh倉庫地址
注意事項
- 私鑰安全:私鑰文件相當于密碼,切勿泄露給他人
- 多平臺配置:如需在多個代碼平臺使用,通常只需在不同平臺重復步驟 2
- 多密鑰管理:如需為不同平臺配置不同密鑰,可在 SSH 配置文件中設置
驗證配置
完成所有步驟后,執(zhí)行 Git 推送操作:
git push origin main
如果配置正確,將不再需要輸入密碼即可完成操作。
故障排除
- 連接失敗:檢查公鑰是否正確添加到代碼平臺
- 權限錯誤:確保私鑰文件權限為 700
- 代理問題:確認 SSH 代理正常運行且已加載私鑰
通過以上配置,即可實現(xiàn) Git 操作的免登錄認證,提升開發(fā)效率。
遇到的問題:
重新打開ssh標簽頁去拉代碼的時候,就會遇到這種情況:

原因是:SSH 認證代理 (ssh-agent) 在每次重新連接服務器時都會重置
1.ssh-agent 是會話級別的:每次斷開 SSH 連接,ssh-agent 進程就會終止
2.密鑰未持久化:添加到 ssh-agent 的密鑰只在當前會話有效
3.缺乏自動啟動機制:服務器沒有配置自動啟動和加載 SSH 密鑰
永久解決方案
方案一:配置 SSH 自動加載密鑰(推薦)
編輯 SSH 配置文件:
# 編輯 SSH 配置文件
vim ~/.ssh/config
# 添加以下內(nèi)容
Host gitee.com
HostName gitee.com
User git
IdentityFile /root/git/id_rsa
IdentitiesOnly yes
# 設置正確權限
chmod 600 ~/.ssh/config這樣每次打開新的會話的時候,密鑰還是會存在,可以直接拉取git倉庫上的代碼
到此這篇關于 Git通過配置SSH密鑰對實現(xiàn)免登錄的完整指南的文章就介紹到這了,更多相關 Git配置SSH密鑰對免登錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Azkaban報錯-azkaban.executor.ExecutorManagerException: No acti
這篇文章主要介紹了Azkaban報錯-azkaban.executor.ExecutorManagerException: No active executors found,本文給大家介紹的非常詳細,需要的朋友可以參考下2020-05-05
Jar包一鍵重啟的Shell腳本及新服務器部署的一些經(jīng)驗分享
這篇文章主要介紹了Jar包一鍵重啟的Shell腳本及新服務器部署的一些經(jīng)驗,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04

