前言
在從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
程序會提示檔案保存路徑、密碼,不用輸入,連續兩次回車,
打開 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),標題隨便寫,點確定保存,
注意這里的指紋哈希sha256和上面命令列生成的指紋是一致的,證明復制正確
步驟二,配置ssh客戶端(踩了很多坑)
window自帶的ssh客戶端其配置目錄位于C:\Users\當前用戶.ssh
確保該目錄下的兩個檔案id_rsa(私鑰),不能改名
測驗ssh是否能連接成功,terminal運行:
ssh -T [email protected]
提示 You've successfully authenticated
另:遇到的其他情況的處理,
步驟三,復制ssh倉庫url(非https)克隆代碼
找到正確ssh地址
開始git clone倉庫(clone完畢后git remote -v驗證遠程連接)
踩坑總結
主要是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
作者:
RDIF
出處:
http://www.cnblogs.com/huyong/
Email:
[email protected]
QQ:
406590790
微信:
13005007127(同手機號)
框架官網:
http://www.guosisoft.com/
http://www.rdiframework.net/
框架其他博客:
http://blog.csdn.net/chinahuyong
http://www.cnblogs.com/huyong
國思RDIF開發框架
,
給用戶和開發者最佳的.Net框架平臺方案,為企業快速構建跨平臺、企業級的應用提供強大支持,
關于作者:系統架構師、資訊系統專案管理師、DBA,專注于微軟平臺專案架構、管理和企業解決方案,多年專案開發與管理經驗,曾多次組織并開發多個大型專案,在面向物件、面向服務以及資料庫領域有一定的造詣,現主要從事基于
RDIF
框架的技術開發、咨詢作業,主要服務于金融、醫療衛生、鐵路、電信、物流、物聯網、制造、零售等行業,
如有問題或建議,請多多賜教!
本文著作權歸作者和CNBLOGS博客共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連接,如有問題,可以通過微信、郵箱、QQ等聯系我,非常感謝,
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/550467.html
標籤:其他