罗浩的技术专栏 Android and Python and C++ Coder

Git 免密码推送代码

2019-07-17

git

本文我将讲述使用ssh生成秘钥,免密码向github推送代码。

核心步骤

  • 第一步、在本地生成id_rsa.pub文件
  • 第二步、将id_rsa.pub文件中的内容添加到github上的Add SSH key页面即可 https://github.com/settings/keys
  • 第三步、[必要]使用ssh地址而非https地址的方式git clone,或者改变remote远程urlssh
    • 一种方式就是在git clone的时候使用ssh方式 两个方式的url地址不同,认证方式也不同。使用ssh时保存密钥对以后可以不再输入帐号密码, 而https却不能。
    • 另一种方式就是改变remote远程url,如下:
        $ git remote rm origin  
        $ git remote add origin git@github.com:qmsggg37/qmsggg37.github.io.git
      

详细步骤

mac为例,其它操作系统也一样。

  • 打开本地终端,执行 ssh-keygen 命令创建密钥对:
    ❯ ssh-keygen -t rsa -C  'qmsggg37@163.com'     
    Generating public/private rsa key pair.
    Enter file in which to save the key (/Users/qmsggg/.ssh/id_rsa): 
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /Users/qmsggg/.ssh/id_rsa.
    Your public key has been saved in /Users/qmsggg/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:UUnjU5gUBD8BCcrzqjWL2j8DE4W2WbidZkAs3b6d3Xw qmsggg37@163.com
    The key's randomart image is:
    +---[RSA 2048]----+
    | +.+  ..oBO=.    |
    |. B.+.  .+++     |
    | o X+.  . =      |
    |  = *o   . o     |
    |   + o.oSo       |
    |  o ..o . o E    |
    |   o+      .     |
    | . +oo           |
    |..+.oo           |
    +----[SHA256]-----+
    

    说明:

    -t 指定密钥类型,默认即 rsa ,可以省略
    -C 设置注释文字,比如你的邮箱,可以省略
    

生成过程中会提示输入密码两次,如果不想在使用公钥的时候输入密码,可以回车跳过; 密钥默认保存位置在 ~/.ssh 目录下,打开后会看到私钥文件 id_rsa 和公钥文件 id_rsa.pub

扩展

本教程也适用于ssh免密码登录


Comments

Content