使用ssh密钥方式进行登录

使用优势

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

ssh密钥原理

  1. 客户端生成RSA公钥和私钥
  2. 客户端将自己的公钥存放到服务器
  3. 客户端请求连接服务器,服务器将一个随机字符串发送给客户端
  4. 客户端根据自己的私钥加密这个随机字符串之后再发送给服务器
  5. 服务器接受到加密后的字符串之后用公钥解密,如果正确就让客户端登录,否则拒绝。这样就不用使用密码了。

本地使用方式

  1. cmd

  2. 创建密钥:ssh-keygen -t rsa -C "邮箱账号"

    • 邮箱账号 只是一个用于识别密钥的注释,可以是任何内容,用这个注释作为密钥的名字

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      The email is only optional field to identify the key.
      邮箱仅仅是识别用的key

      When you create the ssh you type (for example):
      ssh-keygen -t rsa -C “any comment can be here”
      当你创建ssh的时候

      -t = The type of the key to generate
      密钥的类型

      -C = comment to identify the key
      用于识别这个密钥的注释
    • 密钥位置:

      c/用户(users)/用户名/.ssh/

    • 密钥分类:

      1
      2
      id.rsa:私钥
      id.rsa.pub:公钥
  3. 登录github,打开用户设置,打开 SSH and GPG keys, 新建SHH密钥 New SSH key,填入上一步新建的 公钥 内容

  4. 拉取代码时候就可以不用 HTTP 协议了,可以选择 SSH 协议拉取代码,并且不用填写账号密码