前言
在從github/gitee遠(yuǎn)程倉庫獲取代碼時(shí),除了使用https方式,我們還可以使用ssh連接的方式與遠(yuǎn)程倉庫服務(wù)器通信,其好處是有時(shí)會(huì)比https更方便、穩(wěn)定、快速。
和與普通的linux服務(wù)器連接一樣,為了免去每次遠(yuǎn)程操作都要輸入用戶名和密碼的苦惱,我們可以選擇使用 密鑰對(duì) 的方式免密登錄。
準(zhǔn)備工作(win11)
使用git來clone項(xiàng)目有兩種方式:HTTPS和SSH:
HTTPS:不管是誰,拿到url隨便clone,但是在push的時(shí)候需要驗(yàn)證用戶名和密碼;
SSH:clone的項(xiàng)目你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時(shí)候,是不需要輸入用戶名的,如果配置SSH key的時(shí)候設(shè)置了密碼,則需要輸入密碼的,否則直接是不需要輸入密碼的。
https的方式比較好理解,本文以SSH為例來講解Windows系統(tǒng)git使用ssh方式來gitee進(jìn)行同步(github類似)。
Gitee 提供了基于SSH協(xié)議的Git服務(wù),在使用SSH協(xié)議訪問倉庫之前,需要先配置好賬戶/倉庫的SSH公鑰。
1,如果是win10,則推薦本地安裝windows terminal( https://learn.microsoft.com/zh-cn/windows/terminal/install )。
2,安裝git。
3,有一個(gè)gitee賬戶并創(chuàng)建一個(gè)倉庫。
步驟一,生成ssh私鑰和公鑰并配置gitee公鑰
打開terminal,運(yùn)行ssh-keygen
過程會(huì)提示文件保存路徑、密碼,不用輸入,連續(xù)兩次回車。
打開 C:\Users\當(dāng)前用戶.ssh 目錄,會(huì)有兩個(gè)文件id_rsa(私鑰)id_rsa.pub(公鑰)
這里千萬注意,window自帶的ssh客戶端其配置目錄位于C:\Users\當(dāng)前用戶.ssh,必須在這目錄下。
id_rsa文件(私鑰)
id_rsa.pub文件(公鑰)
記事本打開id_rsa.pub公鑰文件,復(fù)制內(nèi)容到gitee公鑰里(https://gitee.com/profile/sshkeys),標(biāo)題隨便寫。點(diǎn)確定保存。
注意這里的指紋哈希sha256和上面命令行生成的指紋是一致的,證明復(fù)制正確
步驟二,配置ssh客戶端(踩了很多坑)
window自帶的ssh客戶端其配置目錄位于C:\Users\當(dāng)前用戶.ssh
確保該目錄下的兩個(gè)文件id_rsa(私鑰),不能改名
測(cè)試ssh是否能連接成功,terminal運(yùn)行:
ssh -T git@gitee.com
提示 You've successfully authenticated
另:遇到的其他情況的處理,
步驟三,復(fù)制ssh倉庫url(非https)克隆代碼
找到正確ssh地址
開始git clone倉庫(clone完畢后git remote -v驗(yàn)證遠(yuǎn)程連接)
踩坑總結(jié)
主要是ssh客戶端設(shè)置,window自帶的ssh客戶端,其config配置位于C:\Users\當(dāng)前用戶.ssh 目錄,ssh命令執(zhí)行的時(shí)候依賴.ssh目錄的配置,ssh-keygen默認(rèn)生成(rsa加密)私鑰文件id_rsa,一定位于.ssh文件夾之下,且不能改名!
如果id_rsa位于其他文件夾,例如d:\sshconfig\,那么運(yùn)行ssh命令需要加 -i參數(shù),不過可能遭遇WARNING: UNPROTECTED PRIVATE KEY FILE!,具體解決方法可以搜索解決
ssh -T git@gitee.com -i d:\sshconfig\
i參數(shù)說明:
-i identity_file A file from which the identity key (private key) for public key authentication is read.
參考資料:
更多關(guān)于win10 ssh客戶端的說明,參考: https://learn.microsoft.com/zh-cn/windows/terminal/tutorials/ssh
更多關(guān)于ssh命令的參考:https://www.ssh.com/academy/ssh/command
更多關(guān)于ssh-keygen命令的參考: https://www.ssh.com/academy/ssh/keygen
生成/添加SSH公鑰:https://gitee.com/help/articles/4181文章來源:http://www.zghlxwxcb.cn/news/detail-417304.html
前往了解國思RDIF低代碼開發(fā)平臺(tái):www.guosisoft.com文章來源地址http://www.zghlxwxcb.cn/news/detail-417304.html
到了這里,關(guān)于windows系統(tǒng)git使用ssh方式和gitee/github進(jìn)行同步的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!