windows系統git使用ssh方式和gitee/github進行同步

前言

在從github/gitee遠程倉庫獲取代碼時,除了使用https方式,我們還可以使用ssh連接的方式與遠程倉庫服務器通信,其好處是有時會比https更方便、穩定、快速。

和與普通的linux服務器連接一樣,爲了免去每次遠程操作都要輸入用戶名和密碼的苦惱,我們可以選擇使用 密鑰對 的方式免密登錄。

準備工作(win11)

使用git來clone項目有兩種方式:HTTPS和SSH:

HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
SSH:clone的項目你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置SSH key的時候設置了密碼,則需要輸入密碼的,否則直接是不需要輸入密碼的。

https的方式比較好理解,本文以SSH爲例來講解Windows系統git使用ssh方式來gitee進行同步(github類似)。

Gitee 提供了基於SSH協議的Git服務,在使用SSH協議訪問倉庫之前,需要先配置好賬戶/倉庫的SSH公鑰。

1,如果是win10,則推薦本地安裝windows terminal( https://learn.microsoft.com/zh-cn/windows/terminal/install )。
2,安裝git。
3,有一個gitee賬戶並創建一個倉庫。

步驟一,生成ssh私鑰和公鑰並配置gitee公鑰

打開terminal,運行ssh-keygen
過程會提示文件保存路徑、密碼,不用輸入,連續兩次回車。

ssh-keygen

打開 C:\Users\當前用戶.ssh 目錄,會有兩個文件id_rsa(私鑰)id_rsa.pub(公鑰)

這裏千萬注意,window自帶的ssh客戶端其配置目錄位於C:\Users\當前用戶.ssh,必須在這目錄下。
id_rsa文件(私鑰)
id_rsa.pub文件(公鑰)

目錄文件

記事本打開id_rsa.pub公鑰文件,複製內容到gitee公鑰裏(https://gitee.com/profile/sshkeys),標題隨便寫。點確定保存。

gitee公鑰配置

注意這裏的指紋哈希sha256和上面命令行生成的指紋是一致的,證明覆制正確

步驟二,配置ssh客戶端(踩了很多坑)

window自帶的ssh客戶端其配置目錄位於C:\Users\當前用戶.ssh
確保該目錄下的兩個文件id_rsa(私鑰),不能改名

測試ssh是否能連接成功,terminal運行:

ssh -T [email protected]

提示 You've successfully authenticated

ssh -T git@gitee.com

另:遇到的其他情況的處理,

問題處理

步驟三,複製ssh倉庫url(非https)克隆代碼

找到正確ssh地址

找到ssh地址

開始git clone倉庫(clone完畢後git remote -v驗證遠程連接)

git clone

踩坑總結

主要是ssh客戶端設置,window自帶的ssh客戶端,其config配置位於C:\Users\當前用戶.ssh 目錄,ssh命令執行的時候依賴.ssh目錄的配置,ssh-keygen默認生成(rsa加密)私鑰文件id_rsa,一定位於.ssh文件夾之下,且不能改名!
如果id_rsa位於其他文件夾,例如d:\sshconfig\,那麼運行ssh命令需要加 -i參數,不過可能遭遇WARNING: UNPROTECTED PRIVATE KEY FILE!,具體解決方法可以搜索解決

ssh -T [email protected] -i d:\sshconfig\

i參數說明:
-i identity_file A file from which the identity key (private key) for public key authentication is read.

參考資料:

更多關於win10 ssh客戶端的說明,參考: https://learn.microsoft.com/zh-cn/windows/terminal/tutorials/ssh
更多關於ssh命令的參考:https://www.ssh.com/academy/ssh/command
更多關於ssh-keygen命令的參考: https://www.ssh.com/academy/ssh/keygen
生成/添加SSH公鑰:https://gitee.com/help/articles/4181


前往瞭解國思RDIF低代碼開發平臺:www.guosisoft.com

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章