最近發現我的記憶在減退,所以這種非常細致并且很久才會被使用一次的實踐,過很久之后就很容易被忘記,所以記錄下來,下次就不用網上搜了,看自己的文檔就很快搞定了。
通常我們要從一個新的github 倉庫中去clone 代碼時。是需要我們把自己的本地的git 的公有秘鑰配置在 github 倉庫中,才能正常克隆代碼。
為什么需要ssh key 秘鑰?
使用 SSH 協議可以連接遠程服務器和服務并向它們驗證。 利用 SSH 密鑰可以連接 GitHub,而無需在每次訪問時提供用戶名或密碼。
首先:先檢查是否有公有秘鑰:
cat ~/.ssh/id_rsa.pub
如果顯示 cat: /Users/********/.ssh/id_rsa.pub: No such file or directory ,表示沒有創建公鑰,則需要自己創建公鑰。
下面先說一下如何生成公有秘鑰:
- 可以輸入:
指定郵箱:·ssh-keygen -t rsa -C "mmqiu@thoughtwros.com"
或者不指定郵箱:ssh-keygen
然后一路回車,使用默認值即可,因為這個Key僅僅用于簡單的服務,所以也無需設置密碼
xx@MacBook-Air ~ % ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/xinna/.ssh/id_rsa):
/Users/xinna/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/xinna/.ssh/id_rsa.
Your public key has been saved in /Users/xinna/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:UmEi7XKNfPMu1ZkNPtJsGGkCyTrfOjTrF+IQAn7sqwE xinna@sionas-MacBook-Air.local
The key's randomart image is:
+---[RSA 2048]----+
| .o..o |
|. .=o . |
|... + +. . |
| ..o= =.= + . |
|E o. *.oS= B = |
|. .. =.o = X . |
| . .+ = + o . |
| .. = o . |
| .. ..o . |
+----[SHA256]-----+
————————————————
它先要求你確認保存公鑰的位置(.ssh/id_rsa),這里不用輸入,直接回車。
然后它會讓你重復一個密碼兩次,如果不想在使用公鑰的時候輸入密碼,可以留空,直接回車。
如果服務器端需要公鑰, 直接把.ssh目錄下的id_rsa.pub配置即可, id_rsa為私鑰一定要保密
2.使用cat ~/.ssh/id_rsa.pub 查看公鑰
xinna@sionas-MacBook-Air ~ % cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDkL0lFa+JqVPDiFeE2BvaMwWH496wkc7e+IVOZoJ+UzooK7B6/IBZ7HcBoHs8ckF3DdFpdJonwGkNFlCnpVDs+wxamdUgPqARJq7nEe5DeG5UQ4LCyZSwRA1OUOl/3gpAK+oYm/v11EgdGoajYJDUCTTp5fsSxaCl4s/Ym8uqUWR+Ba4Aoz117ka4i6yX1EiFfkv2ztbES+Lq9wNs57vK/ktoQmBLslGq2HqTt//WrJJkK2C0HlVSV9lkLZgH1qd5K7dxP1rY7IOrdwvhtwVUGE5V3fmBWGqnlZWJ2tkYczlnPWb0uX0FqP1qod8GZGBoJfgVhGShQBFMXdgqY+V9h xinna@sionas-MacBook-Air.local
cat ~/.ssh/id_rsa.pub
通過 access_token 從 github clone 代碼
對于 public 的代碼不需要用戶相關的信息就可以 clone,但是對于 private 的項目必須要有用戶相關信息才可以 clone 或者 pull,在一些腳本中也不可能把用戶名密碼寫進去,所以就有了 access_token。
GitHub獲取私人token方法
1、在Github個人Settings頁面里,最下面找到Developer Settings:
2、在Developer Settings里點擊Personal access tokens:
3.輸入Token的描述,然后勾選Token的權限,一般是全部勾選,點擊Generate:
注意
在生成 token 的時候,需要選中 repo 選項,不然 git clone 的時候會失敗。
生成的 token 需要像密碼一樣妥善保管,因為離開該頁面,就無法在看到 token 了。
4、系統生成Token碼,復制保存到本地,因為再次打開就看不到了。
git 使用 access_token clone 代碼
clone 命令 :
git clone https://<access_token>@github.com/xx.git
例如:
git clone https://1737a2a66d27524992499242f2@github.com/username/projectName.git