下载代码的两种方式ssh 和 https
在遠(yuǎn)程代碼倉庫上面下載代碼的時(shí)候,我們有兩種方式:
一個是ssh,一個是https
這兩種方式在push 代碼的時(shí)候是有不同的,最主要在于他們兩者的安全機(jī)制不同
ssh :采用rsa的非對稱加密的方式,我們本地保存一份私鑰,然后將對應(yīng)的公鑰放到對應(yīng)的自己的賬戶里面
https:則是通過普通的賬號來進(jìn)行登錄,因此如果采用http的方式,則會每次都要求輸入密碼
下面我們分別介紹下這兩種代碼下載方式,以及介紹下https方式下不用每次輸入密碼的方式:
一、ssh 的方式
在進(jìn)行push前,我們本機(jī)是需要創(chuàng)建對應(yīng)的公鑰和私鑰的
1. 查看公私鑰
在終端輸入:
cd?/.sshcd/.ssh ls -l
查看下是否有 id_rsa 和id_rsa.pub 兩個文件,其中id_rsa是私鑰,id_rsa.pub是公鑰,如果本地已經(jīng)有自定義的id_rsa和對應(yīng)的id_rsa.pub也是可以的
2. 創(chuàng)建公私鑰
如果不存在對應(yīng)的私鑰和公鑰文件,那么我們可以創(chuàng)建一個,存在,則跳過
$ ssh-keygen -t rsa -C “your_email@example.com”
參數(shù):
-t (type)采用的算法
-C (Comment) 新的注釋
-f (file) 文件名
用如上的這種方式可以創(chuàng)建一個對應(yīng)賬號的公鑰和私鑰
運(yùn)行以上命令,會出現(xiàn)如下:
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/zhouzhenyong/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
文件名和密碼都可以不用輸入,直接回車,這樣可以生成默認(rèn)的公鑰和私鑰文件,如果我們想在一臺電腦上共存多個公私鑰用于不同的賬號域,那么可以用輸入對應(yīng)的公私鑰文件名:
比如:
Enter file in which to save the key (/Users/zhouzhenyong/.ssh/id_rsa): second
這樣就會生成:私鑰 second 和公鑰second.pub
注意:
1.需要自行添加私鑰
如果使用自定義的文件名,那么默認(rèn)情況下系統(tǒng)是不會識別公私鑰的這個文件名的,需要添加進(jìn)去,執(zhí)行
$ ssh-add yourFile
例如如上文件:
ssh-add second
查看已經(jīng)自定義的公私鑰文件名(默認(rèn)的不顯示)
$ ssh-add -l
2.電腦重啟私鑰綁定消失(個人遇到的)
電腦重啟,那么ssh-add 的私鑰就會失效,需要手動重新添加一次
3.將公鑰放到對應(yīng)的倉庫賬戶中
這一步我們將對應(yīng)的公鑰內(nèi)容放到對應(yīng)的倉庫賬戶中,我們可以打開文件拷貝,也可以用命令進(jìn)行拷貝公鑰數(shù)據(jù),在不同的系統(tǒng)中,這個命令是不同的
mac下:
pbcopy < ~/.ssh/id_rsa.pub
linux 下:
xsel < ~/.ssh/id_rsa.pub
windows 下:
clip < ~/.ssh/id_ras.pub
二、https 的方式
采用https 的提交代碼,每次push代碼都需要輸入用戶名和密碼,我們這里主要介紹下,如何讓https這種方式不用每次提交都需要輸入用戶名和密碼
這里有兩種方式:
1.顯示的在url上面添加上用戶名和密碼
http://xxxxx/xxxx.Git 修改為:http://username:password@xxxxx/xxxx.git
也就是在//后面添加username:password@
如果采用sourceTree,則修改如下,但是這里有安全風(fēng)險(xiǎn),請謹(jǐn)慎選擇
2.git上面使用憑據(jù)幫手
第一種方式有密碼泄露風(fēng)險(xiǎn),我們可以采用下面這種方式
執(zhí)行如下命令即可
git config –global credential.helper osxkeychain
后面Push的時(shí)候,會彈出如下的顯示框
點(diǎn)擊“始終允許”,以后每次提交代碼就不需要輸入密碼了
總結(jié)
以上是生活随笔為你收集整理的下载代码的两种方式ssh 和 https的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python发邮件给女朋友代码_pyth
- 下一篇: 【二叉树】美团的【天天领现金】活动,不就