HTTPS和SSH
在GitHub上,我们可以看到Clone仓库代码的三种方式:
- HTTPS(不推荐)每次fetch和push代码都需要输入账号和密码。
- SSH(推荐)每次fetch和push代码无需输入账号,如果在生成 SSH Key 的时候设置了密码,则需要输入密码,否则不需要。
- GitHub CLI
配置SSH
在开始之前,我们先输入如下命名,确定能否通过SSH访问;GitHub,如果能,则不需要配置SSH了。
ssh -T git@github.com
如果输出为类似下图所示的结果,则表示SSH连接不成功,需要配置SSH。
1. 生成公钥和私钥
使用ssh-keygen
生成公私钥。
在 Linux/macOS 系统中,ssh-keygen 随 SSH 软件包提供;在 Windows 上,该程序包含于 MSysGit 软件包中。
执行如下命令生成:
ssh-keygen -t rsa
-t rsa
表示使用rsa算法进行加密
- 输入命令回车后,会要求输入公钥私钥的文件名,当然你可以可以直接按回车不输入,将使用默认的名称
id-rsa
。
我这里设置文件名为github
,如下图所示。 - 接着会要求是否输入密码,如果你不想在使用密钥时输入口令,将其留空即可,即按两次回车。
- 命令执行完成后,会在
~/.ssh/
下生成github
私钥文件和github.pub
公钥文件
2. 将公钥文件添加到GitHub
- 打开https://github.com/settings/keys
- 点击
New SSH keys
- 将公钥文件的全部内容添加下图Key输入框中
3. 配置config
如果公钥和私钥文件名使用的是默认名称,即id_rsa
(或id_加密算法的名称
),并且没有在~/.ssh/config
文件中配置Host
为github的配置,可以这步。
否者需配置config。
由于我上面步骤配置了公钥和私钥的名称,所以需要配置config。
- 编辑config(如果你不熟悉vim,你也可以用其他编辑器直接编辑,如VSCode)
cd ~/.ssh/
vim config
- 添加如下配置
Host github.com
HostName github.com
User git
# 将github_id_rsa改为你的私钥文件名
IdentityFile ~/.ssh/github_id_rsa
- 保存配置
4. 测试能否通过SSH访问
输入如下命令测试:
ssh -T git@github.com
如下图所示的结果表示SSH配置成功了。
支持🤟
- 🎸 [关注❤️我吧],我会持续更新的。
- 🎸 [点个👍赞吧],码字不易麻烦了。