git 配置密钥

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

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

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

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

 

生成新的SSH密钥并将其添加到ssh-agent

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

检查现有SSH密钥后,可以生成用于身份验证的新SSH密钥,然后将其添加到ssh-agent。

如果您还没有SSH密钥,则必须生成新的SSH密钥如果您不确定是否已有SSH密钥,请检查现有密钥

如果您不想在每次使用SSH密钥时重新输入密码,则可以将密钥添加到SSH代理SSH代理管理您的SSH密钥并记住您的密码。

生成新的SSH密钥

  1. 打开Git Bash

  2. 粘贴下面的文本,替换您的GitHub电子邮件地址。

    $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

    这将使用提供的电子邮件作为标签创建一个新的ssh密钥。

    > Generating public/private rsa key pair.
  3. 当系统提示您“输入要保存密钥的文件”时,按Enter键。这接受默认文件位置。

    > Enter a file in which to save the key (/c/Users/you/.ssh/id_rsa):[Press enter]
  4. 在提示符下,键入安全密码。有关更多信息,请参阅“使用SSH密钥密码”

    > Enter passphrase (empty for no passphrase): [Type a passphrase]
    > Enter same passphrase again: [Type passphrase again]

将SSH密钥添加到ssh-agent

在将新的SSH密钥添加到ssh-agent以管理密钥之前,您应该检查现有的SSH密钥生成新的SSH密钥

如果安装了GitHub Desktop,则可以使用它来克隆存储库而不处理SSH密钥。它还附带了Git Bash工具,这是git在Windows 上运行命令的首选方式

  1. 确保ssh-agent正在运行:

    • 如果您使用的是与GitHub Desktop一起安装的Git Shell,则应该运行ssh-agent。
    • 如果您正在使用其他终端提示,例如Git for Windows,则可以使用“ 使用SSH密钥密码 ”中的“自动启动ssh-agent”说明,或手动启动它:

      # start the ssh-agent in the background
      $ eval $(ssh-agent -s)
      > Agent pid 59566
  2. 将SSH私钥添加到ssh-agent。如果使用其他名称创建密钥,或者要添加具有不同名称的现有密钥,请将命令中的id_rsa替换为私钥文件的名称。

    $ ssh-add ~/.ssh/id_rsa
  3. 将SSH密钥添加到您的GitHub帐户

 
 
简单操作

第—步:$> sshkeygen t rss C zhangsan@abc.com

第二步:拷贝公钥到gitlab

第三步:

$> git config —global user.name zhangsan

$> git config —global user.email zhangsan@abc.com

第四步:$> git clone git@lab.com:org/project.git

第五步:$> git checkout b project20170227zhangsanbugfix

第六步:修改代码

第七步:git status

第八步:git add .

第九步:git commit am bugfix

第十步:

git push ——set—upstream origin project—20170227—zhangsan—bugfix
 
 
 
 查看密钥是否配置

ls -al ~/.ssh

 
 
 
原文地址:https://www.cnblogs.com/xiaoniaohhl/p/11274164.html