📜  git https 到 ssh - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:15:17.595000             🧑  作者: Mango

从使用HTTPS协议到SSH协议

在开发中,Git是一个常用的版本控制工具。Git支持两种网络协议,分别是HTTPS协议和SSH协议。大多数情况下我们使用的是HTTPS协议,因为它操作简单,易于上手,但是使用https协议有一个弊端就是每次pull或者push代码的时候需要输入密码,这对于长期使用的开发人员来说是一种极其不方便的事情,而SSH协议的使用则是相对自动化和安全的。下面我们就来详细介绍一下如何从HTTPS协议切换到SSH协议。

生成SSH密钥

首先我们需要生成自己的SSH密钥,这个密钥将用于验证本地系统与远程系统之间的身份。所以我们需要运行以下命令生成密钥:

ssh-keygen

这个命令将会要求你输入存储密钥的文件名和一个密钥密码(可选)。这里建议使用默认设置,一路回车即可。

复制SSH密钥

密钥生成后,我们可以在本地用户目录下找到.ssh目录,将其中的id_rsa.pub文件内容复制进GitHub或GitLab的SSH公钥列表中。

修改Git配置

将密钥复制到远程服务器上之后,我们需要修改本地的Git配置。

首先我们需要查看本地的Git设置,确认是否已经设置了用户名和邮箱。

git config --list

然后我们需要修改本地仓库的远程地址为SSH地址。

git remote set-url origin git@github.com:[xxx]/[xxx].git

其中[xxx]/[xxx]是你的github用户名和对应的仓库名。

如果你已经有一个使用HTTPS协议的仓库,可以直接修改远程地址。

git remote set-url origin git@github.com:[xxx]/[xxx].git
测试连接

最后我们需要测试一下连接是否成功。输入以下命令:

ssh -T git@github.com

如果返回“Hi [xxx]! You've successfully authenticated, but GitHub does not provide shell access.”,就说明连接成功了。

总结

从HTTPS协议切换到SSH协议,可以实现代码的安全、快捷和自动化管理,减少代码管理过程中的重复性工作和安全问题。