对于我们程序员来说 GitHub再熟悉不过了 在平常的工作项目中 对于项目的提交我们不可能每次都需要填写一次密码 当然也包括登录自己的服务器 所以我们可以使用ssh生成密钥 这样就可以省去这样的步骤

介绍

对于我们程序员来说 GitHub再熟悉不过了 在平常的工作项目中 对于项目的提交我们不可能每次都需要填写一次密码

这当然也包括登录自己的服务器 所以我们可以使用ssh生成本地的密钥 只需要向服务器或者Github给出我们的密钥

这样就可以不用每次都去填写密码

服务器的登录

在本地的目录终端执行

$ ssh-keygen -t rsa  

由于我之前已经生成过 你如果是第一次的话一直enter下去 这里指定的加密算法是rsa

之后还会有一些保存私钥的路径和密码(可以为空) 最后就是生成了公钥

如果你是Mac环境的话执行

$ cd ~/.ssh

就可以看到你刚刚生成的私钥

当然如果你是Windows环境下的话还是进入(也就是管理员的目录下)

$ cd ~/.ssh

而我们需要拿到的是id_rsa.pub这个公钥里面的内容

如果是服务器的话 我们需要将这个文件也放到服务器下的.ssh目录里:

$ scp id-rsa.pub root@domain.com:~/.ssh/id_rsa.pub

如果服务器没有.ssh这个目录 创建一个即可

之前已经将id_rsa.pub文件放到服务器的目录下了 填写服务器的密码即可 我们再次登录服务器

我们进入到.ssh这个目录

$ cd ~/.ssh

接下来我们将这个文件保存到authorized_keys

$ cat id_rsa.pub >> authorized_keys

这个时候退出服务器再次登录 OK 完美的登录了

Github 密钥部署

在本地的目录终端执行

$ ssh-keygen -t rsa -C "youremail@example.com"

填写好你Github邮箱 如果你比较熟悉git的话之前肯定配置过git直接下一步

这样的话我们就可以在~/.ssh下有两个文件

id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

这个和之前服务器是差不多的 我们需要的就是id_rsa.pub这个公钥

我们登录Github 打开Account settings >> SSH Keys页面

然后,点Add SSH Key,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容

为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人的,而Git又支持SSH协议

所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送

下面的话我们在Github新建仓库之后 只需要根据提示添加相关的仓库 接着执行

$ git push -u origin master

以后我们再去推送代码时只需要执行

$ git push 

这样是不是很方便 😄