其实关于这两种认证方式也是适用于Gitlab等相关git.
很多时候,我们在打算克隆一个仓库到本地的时候,有两种方式可以选择,即:SSH和HTTPS.
克隆还好,但是需要推送的时候,也许会遇到权限,需要账号密码啊。
通过HTTPS方式克隆的代码到本地
如果遇到:
这是权限问题,可以修改.git/config文件追加用户名和密码,也可以直接敲下面命令:
其实更常用的是SSH的方式来推送代码:
首先需要生成 SSH Keys,需要用到 ssh-keygen 命令。
简单介绍下参数含义:
-t 指定密钥类型,默认即 rsa ,可以省略
-C 设置注释文字,比如你的邮箱
-f 指定密钥文件存储文件名,会生成 git-github 和 git-github.pub 两个密钥文件
回车后,遇到提示输入 yes 即可,剩下一路回车,密钥文件就在指定路径下生成了。
接下来就去git管理界面的设置里面将 SSH 公钥添加到 Github
设置里面把git-github.pub公钥的内容复制进去添加就行了。
本地添加SSH别名
如果本机有其它密钥,连接 github 时可能不会自动使用刚生成的密钥,需要设置别名:
$ sudo vi ~/.ssh/config
加入类似的一段代码:
|
|
保存退出。
测试连接
Hi xxx! You’ve successfully authenticated, but GitHub does not provide shell access.
表示设置的 SSH Keys 认证通过,但 Github 不提供 shell 访问。
此时就可以正常使用 Github 了。