亲宝软件园·资讯

展开

GitHub配置SSH Key

前端向朔 人气:0

https://github.com/xiangshuo1992/preload.git
git@github.com:xiangshuo1992/preload.git

这两个地址展示的是同一个项目,但是这两个地址之间有什么联系呢?

前者是https url 直接有效网址打开,但是用户每次通过git提交的时候都要输入用户名和密码,有没有简单的一点的办法,一次配置,永久使用呢?当然,所以有了第二种地址,也就是SSH URL,那如何配置就是本文要分享的内容。

GitHub配置SSH Key的目的是为了帮助我们在通过git提交代码是,不需要繁琐的验证过程,简化操作流程。

步骤

一、设置git的user name和email

如果你是第一次使用,或者还没有配置过的话需要操作一下命令,自行替换相应字段。

git config --global user.name "Luke.Deng"
git config --global user.email  "xiangshuo1992@gmail.com"

说明:git config --list 查看当前Git环境所有配置,还可以配置一些命令别名之类的。

二、检查是否存在SSH Key

cd ~/.ssh
ls
或者
ll
//看是否存在 id_rsa 和 id_rsa.pub文件,如果存在,说明已经有SSH Key

如下图

如果没有SSH Key,则需要先生成一下

ssh-keygen -t rsa -C "xiangshuo1992@gmail.com"

执行之后继续执行以下命令来获取SSH Key

cd ~/.ssh
ls
或者
ll
//看是否存在 id_rsa 和 id_rsa.pub文件,如果存在,说明已经有SSH Key

三、获取SSH Key

cat id_rsa.pub
//拷贝秘钥 ssh-rsa开头

如下图

四、GitHub添加SSH Key

GitHub点击用户头像,选择setting

新建一个SSH Key

取个名字,把之前拷贝的秘钥复制进去,添加就好啦。

五、验证和修改

测试是否成功配置SSH Key

ssh -T git@github.com
//运行结果出现类似如下
Hi xiangshuo1992! You've successfully authenticated, but GitHub does not provide shell access.

之前已经是https的链接,现在想要用SSH提交怎么办?

直接修改项目目录下 .git文件夹下的config文件,将地址修改一下就好了。

git地址获取可以看如下图切换。

验证原理

SSH登录安全性由非对称加密保证,产生密钥时,一次产生两个密钥,一个公钥,一个私钥,在git中一般命名为id_rsa.pub, id_rsa。

那么如何使用生成的一个私钥一个公钥进行验证呢?

本地生成一个密钥对,其中公钥放到远程主机,私钥保存在本地

当本地主机需要登录远程主机时,本地主机向远程主机发送一个登录请求,远程收到消息后,随机生成一个字符串并用公钥加密,发回给本地。本地拿到该字符串,用存放在本地的私钥进行解密,再次发送到远程,远程比对该解密后的字符串与源字符串是否等同,如果等同则认证成功。

总结

加载全部内容

相关教程
猜你喜欢
用户评论