Git ssh key 作用与配置
环境
Ubuntu 20.04
- 其他系统也基本一样
参考
作用
- ssh指secure shell(一种安全的网络协议),git使用这种协议进行远程加密登录。
- ssh登录安全性由非对称加密保证,产生密钥时,一次产生两个密钥,一个公钥,一个私钥,在git中一般分别命名为id_rsa.pub, id_rsa
- ssh方式单独使用非对称的秘钥进行认证和加密传输,和账号密码分离开来,不需要账号也可以访问repo。
- git基于多种传输协议,其中最常用的就是https和ssh。都是为了数据传输安全,那么设置ssh密钥的目的是为了节省输入用户名密码的过程,同时保证传输安全。并不是必须设置。
配置过程
1. git config 配置
终端执行下列命令:
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
这里的用户名和邮箱最后和你的github账户一致,下面是一个例子。
git config --global user.name "Mike"
git config --global user.email "123@gmail.com"
这样你的用户名和邮箱将被设置为Mike
和123@gmail.com
使用下列命令可以查看已配置信息。
git config --global --list
2. 秘钥生成
首先查看你的主目录~
下是否含有.ssh
文件路径,以及.ssh
文件路径下是否含有以 id_dsa 或 id_rsa 命名的文件,其中一个带有 .pub 扩展名。.pub 文件是你的公钥,另一个则是私钥。
可以在终端运行下列命令进行快速查看:
ls ~/.ssh
如果提示没有该目录,或者该目录下没有公私钥文件,说明还未生成过密钥。
如果存在可以直接使用,跳到本步骤。但也可以选择重新生成密钥,将之前的覆盖。
执行下列命令生成密钥:
ssh-keygen -t rsa -C "你的邮箱"
中途需要进行3次或4次确认:
- 秘钥的保存路径,不更改则直接回车
- 是否覆盖上一次生成的密钥(若之前已经生成过)
- 密码(若不设置则直接回车)
- 确认密码
建议路径使用默认配置,密码不设置。这样每次git push
等操作都不需要输入密码,比较方便。
下面是生成过程的图片。
若是用默认路径则在~/.ssh
路径下将看到两个新生成的文件。
3. Github 账号配置
网页上登陆你的Github账号,依次按照如下方式进行设置:
点击进入设置界面。
点击进入SSH keys设置界面
然后按照下图的方式配置。
最后还需要输入你Github账号密码,进行确认。
至此,大功告成。