美文网首页Git
GIT为什么要配置公钥和私钥

GIT为什么要配置公钥和私钥

作者: LiLi原上草 | 来源:发表于2017-07-12 23:16 被阅读0次

    为什么要配置公钥和私钥:

    Git使用https协议,每次pull, push都要输入密码,相当的烦。
    使用git协议,然后使用ssh密钥。这样可以省去每次都输密码。

    公钥我们一般是给服务器的,他们到时候在权限中加入我给的公钥,然后当我从远地仓库中下载项目的时候,我在git clone xxx的时候,那个服务器我通过他的绑定的公钥来匹配我的私钥,这个时候,如果匹配,则就可以正常下载,如果不匹配,则失败.

    大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。

    配置SSH keys

    https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/#platform-mac

    生成SSH Keys

    1. 打开终端

    2. 输入命令

      $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
      
      $ # 告诉你已经生成了公交和私钥
      $ Generating public/private rsa key pair. 
      
      $ # 让你输入一个名字来保存内容,不用管,直接回车
      $ Enter file in which to save the key (/Users/lidaze/.ssh/id_rsa):  
      
      # 输入一次密码
      Enter passphrase (empty for no passphrase): 
      # 再输入一次密码
      Enter same passphrase again: 
      
      # 你的私钥已经保存在 /Users/lidaze/.ssh/id_rsa.
      Your identification has been saved in /Users/lidaze/.ssh/id_rsa.
      # 你的公钥已经保存在 /Users/lidaze/.ssh/id_rsa.pub.
      Your public key has been saved in /Users/lidaze/.ssh/id_rsa.pub.
      

    检查SSH Keys

    1. 打开终端

    2. 输入命令

      # 显示出在.ssh文件下的文件,如果存在的话
      $ ls -al ~/.ssh
      
    3. 检查是否存在以下文件

      • github_rsa
      • github_rsa.pub
      • id_rsa
      • id_rsa.pub
      • known_hosts
    4. 如果不存在以上文件,则需要重新生成

    添加SSH Keys到github账户中

    1. 拷贝公钥

      # 拷贝~/.ssh/id_rsa.pub文件内容到剪贴板
      $ pbcopy < ~/.ssh/id_rsa.pub
      

      粘贴出来内容如下:

      ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC019j/q2jJDqdargVVIUyLeKnTRua69RAPmAP1nSfoPe5kVmxu/5UqWIjU9gGAgxT+DOUGK6GJrQAutAI2bZ7sEl1PZ/deUcIUGl6hyyECo6u7uNe+TmoyrSMn08PgD1L+UtBQPOZAwRTmlxJ7y+tjG2Q0M7n/g6b0rtxkoFg24qhOPhWbuESgZT6jF6iSEFeBa0U7YTLqzCGLwSN8KwbJuGH+u/fNnu3v1gs78IOvqtjqqUO0rxXFp4TcoIuQInx5E2bQcqeFdwg4dKaceH+WRQFGSDShAE39vI+e+LH0EbxZVOVyzqnu/gSxEs1A3VyRVrgFk8msKGfwS/GeB/iwh9f8FFFhFPpC5ie674KjSAnBvsxAN0non+UuhHQWvjwhmXxJDVQoiIXvjwmMlrBF484GZpwdTBzuHWz/aK8RdwMRxKmb8cZ8X1UfvwYBRf4kR6iJDjCYz/33f/gD/AVTuMkgqdXJxrrqaBFvYLP6yH97csAS6/pukWRAhPPwrSj6Su+/ZKq4UjW4fThEg8cbKNOvEeuUmJXArVaeM8mYFobiUjylOKmwmjEMAdq3+ps8icNHYjf0IS1enExkkTHMqrtqIlI0ptMqSG4wyRhGj9cGjH1D6curi1C+GwJiQ9P8jBksXDW5a/a7CIGiyn5UQdZ3reEXQZ0g91pB4o9iZCQ== mail@lidaze.com
      
    2. 依次打开Github网站 -> Settings -> SSH And GPG Keys

    3. 点击New SSH Key按钮

    4. 添加TitleKey

      • Title: 随便输入即可,如果是我自己的电脑,则可以输入lidaze macbook
      • Key: 粘贴即可
    5. 重新输入Github的密码即可

    测试SSH的连接

    1. 打开终端

    2. 输入命令

      $ ssh -T git@github.com
      
      $ # 输入一遍密码
      $ Enter passphrase for key '/Users/lidaze/.ssh/id_rsa': 
      
      $ # 看到这样的内容,就代表成功啦
      $ Hi lidaze! You've successfully authenticated, but GitHub does not provide shell access.
      

    相关文章

      网友评论

        本文标题:GIT为什么要配置公钥和私钥

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