前言:工作中使用公司git賬號(hào)凸克,自己寫的小demo用個(gè)人git賬號(hào)
參考:https://www.cnblogs.com/popfisher/p/5731232.html
1. 生成github.com對(duì)應(yīng)的私鑰公鑰(本文中文件地址C:\Users\popfisher目錄)
執(zhí)行命令ssh-keygen -t rsa -C 774*****22@qq.com?創(chuàng)建github對(duì)應(yīng)的sshkey,命名為id_rsa_github,密碼123456?
代碼:ssh-keygen -t rsa -C '774*****22@qq.com'
注:在git bash 里輸入上面代碼回車,第一行是指定文件名稱,默認(rèn) id_rsa , 在配置多個(gè)賬號(hào)時(shí),應(yīng)修改名稱,避免覆蓋之前已配置好的賬號(hào)嗤放。
生成的私鑰和公鑰文本最好保存在之前保存的 同一文件夾下,一般保存在 c/Users/admin/.ssh 下
2.在.ssh目錄創(chuàng)建config文本文件并完成相關(guān)配置(最核心的地方)
每個(gè)賬號(hào)單獨(dú)配置一個(gè)Host奔誓,每個(gè)Host要取一個(gè)別名斤吐,每個(gè)Host主要配置HostName和IdentityFile兩個(gè)屬性即可
Host的名字可以取為自己喜歡的名字,不過這個(gè)會(huì)影響git相關(guān)命令厨喂,例如:
Host?github 這樣定義的話和措,命令如下,即git@后面緊跟的名字改為github?
git clone git@mygithub:PopFisher/AndroidRotateAnim.git
HostName?這個(gè)是真實(shí)的域名地址
IdentityFile?這里是id_rsa的地址
PreferredAuthentications配置登錄時(shí)用什么權(quán)限認(rèn)證--可設(shè)為publickey,password publickey,keyboard-interactive等
User?配置使用用戶名
易遺漏: 1. 把公鑰添加到你想添加的托管平臺(tái) 蜕煌;2派阱、平臺(tái)綁定生成公鑰的郵箱;3斜纪、后面clone 的時(shí)候使用 ssh地址
3.打開Git Bash客戶端(管理員身份運(yùn)行)執(zhí)行測(cè)試命令測(cè)試是否配置成功(會(huì)自動(dòng)在.ssh目錄生成known_hosts文件把私鑰配置進(jìn)去)
代碼: ssh -T git@github?---->?github?為config 中配置的 host名字
返回:Hi ************ ! You've successfully authenticated, but GitHub does not provide shell access.? 則連接成功
此時(shí)贫母,基本已配置好。
經(jīng)測(cè)試: 一個(gè)郵箱生成的 公鑰私鑰 可用在不同托管平臺(tái)多次使用盒刚;如:
Host me
? ? HostName gitee.com
? ? PreferredAuthentications publickey
? ? IdentityFile ~/.ssh/id_rsa_me
Host github
? ? HostName github.com
? ? PreferredAuthentications publickey
? ? IdentityFile ~/.ssh/id_rsa_me
4.clone項(xiàng)目到本地(這里以gitee賬號(hào)為例)
原先操作:git clone git@gitee.com:xxxx/xxx.git;
現(xiàn)改為:git clone git@me:xxxx/xxx.git
即改為git@后為host名
5. 復(fù)制公鑰
clip < ~/.ssh/id_rsa.pub