美文网首页
博客免密部署到GitHub的小操作

博客免密部署到GitHub的小操作

作者: suda_liu | 来源:发表于2020-04-08 03:09 被阅读0次
    image

    每次写完博客,提交、部署到GitHub上的时候,会要求输入账户名和密码,我们可以通过设置SSH密钥以实现免密部署,来提高生产效率。


    原理

    由于每次部署时GitHub都要确定用户是否为安全用户,所以要求输入账户名和密码。而SSH就保证了这样的安全。

    SSH是一种网络协议,用于计算机之间的加密登录。一般生成的是id_rsaid_rsa.pub,一个私钥和一个公钥。

    原理就是将公钥储存到远端主机,私钥储存在本地,登录时远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。


    检查现有的SSH密钥

    打开Git Bash。输入:

    ls -al ~/.ssh
    

    查看是否存在SSH密钥,若没有,则生成一个新的SSH密钥。


    生成SSH密钥

    ssh-keygen -t rsa -C "GitHub邮箱地址"
    

    为了方便,回车三连。

    根据文件的生成路径,找到.ssh文件夹,打开目录下的id_rsa.pub,复制里面的所有内容。


    将SSH密钥添加到GitHub账户

    右上角点击个人资料照片,点击Setting

    image

    在用户设置边栏找到SSH and GPG keys,点击New SSH key

    image

    Title字段可自行命名一个描述性标签,并在Key中粘贴刚刚所复制内容,点击点击Add SSH key

    image

    测试SSH密钥的连接

    回到Git bash,输入:

    ssh -T git@github.com
    

    首次输入可能会看到警告,键入yes即可。

    成功会返回验证消息:

    Hi username! You've successfully authenticated, but GitHub does not provide shell access.
    

    修改站点配置文件_config.yml

    deploy:
      type: git
      repo: git@github.com:xxxx/xxxx.github.io.git
      #格式必须是上述格式
      branch: master
    

    这样SSH密钥便设置成功啦!


    参考

    生成SSH密钥

    相关文章

      网友评论

          本文标题:博客免密部署到GitHub的小操作

          本文链接:https://www.haomeiwen.com/subject/kzoaphtx.html