最近发现我的记忆在减退,所以这种非常细致并且很久才会被使用一次的实践,过很久之后就很容易被忘记,所以记录下来,下次就不用网上搜了,看自己的文档就很快搞定了。
通常我们要从一个新的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