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

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

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 "[email protected]"
    
    $ # 告诉你已经生成了公交和私钥
    $ 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== [email protected]
    
  2. 依次打开Github网站 -> Settings -> SSH And GPG Keys

  3. 点击New SSH Key按钮

  4. 添加TitleKey

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

测试SSH的连接

  1. 打开终端

  2. 输入命令

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

你可能感兴趣的:(GIT为什么要配置公钥和私钥)