• 解决git每次输入密码,设置gitlab、github默认push的用户名和密码


    git ssh key配置&解决git每次输入密码

     

    欢迎加入qq群(IT-程序猿-技术交流群):757345416

    在使用git时,每次pull/push都需要输入密码,有时大大降低了我们的工作效率,下面我们来解决此问题:

    1、git clone支持https和git(即ssh)两种方式下载源码:
    这里写图片描述

    2、当使用git方式下载时,如果没有配置过ssh key,则会有错误提示。

    3、下面就介绍一下如何配置git的ssh key,方便我们使用:
    (1)检查一下用户名和邮箱是否配置在Git Bash Here工具下执行如下命令:

    git config --global  --list

    如果已配置,则会显示自己的用户名及邮箱。

    (2)如未配置,则执行以下命令进行配置:

    git config --global  user.name "用户名"
    git config --global user.email "邮箱"

    (3)执行以下命令生成秘钥:

    ssh-keygen -t rsa -C "邮箱"

    执行命令后需要进行3次或4次确认:

    (4)确认秘钥的保存路径(如果不需要改路径则直接回车);
    ①如果上一步置顶的保存路径下已经有秘钥文件,则需要确认是否覆盖(如果之前②的秘钥不再需要则直接回车覆盖,如需要则手动拷贝到其他目录后再覆盖);
    ③创建密码(如果不需要密码则直接回车);
    ④确认密码;
    (5)成功生成秘钥为下图:
    这里写图片描述
    (6)在指定的保存路径下会生成2个名为id_rsa及 id_rsa.pub的文件(命令窗口中有路径提示 .ssh)
    (7)再打开你的github,进入配置页:
    这里写图片描述
    (8)选择SSH and GPG keys项:
    这里写图片描述
    (9)之前生成的是ssh秘钥,所以下面选择New SSH key,进去之后Title可根据实际情况输入,Key为生成的秘钥(秘钥以邮箱结尾)

     
     
     
     
     
     
     
     

    一 设置Git的user name和email

    git config --global user.name "xxx"

    git config --global user.email "xxx@xxx.com"

    eg:

    二  生成SSH密钥过程

    1、查看是否已经有了ssh密钥:cd ~/.ssh

    如果没有密钥则不会有此文件夹,有则备份删除。

    2、生存密钥

     ssh-keygen -t rsa -C "xxx@xxx.com"

    eg:

    命令执行完后,在~/.ssh目录下会看到id_rsa、id_rsa.pub文件。

    三 添加SSH密钥过程

    在github个人中心settings上添加ssh密钥,这要添加的是“id_rsa.pub”里面的公钥。

    1、vim id_rsa.pub查看里面的内容,或者用文本编辑器打开,拿里面的内容,注意粘贴的时候别带有空格。

    2、git添加密钥

    "Settings"-->"SSH and GPG Keys",然后添加密钥。

    eg:

    如果你添加失败了,一般是复制id_rsa.pub里面的内容带有空格,或者省掉了开头与结尾没有复制全,

     
     

    在使用git的时候,不同的环境下,当你重新安装git,最好在开始的时候就配置一下默认的git的用户名和密码,这样子就可以在每次的push的时候不需要手动的在去输入git的用户名和密码,提高执行的效率。
    环境:Windows环境已经安装git,我使用的gitlab(github和这样配一样),gitlab的用户名742981086@qq.com
    下面在Windows环境中进行配置过程的演示,
    1:生成RSA key 过程
    (1)在指定的用户目录下,右键打开git bash 执行 命名:ssh-agent bash
    (2)生成RSA密钥,执行命令:ssh-keygen -t rsa -C 742981086@qq.com


    (3)添加密钥到ssh,执行的命令:ssh-add
    2:关联到ssh 到 gitLab
    (1)打开gitLab

    (2)关联ssh --id_rsa.pub


    3:修改远程pull(push)方式
    如果之前用的是https,那么需要将remote改为ssh;如果已经是ssh则不需要修改。

    可以通过如下命令来查看当前的remote方式:

    git remote -v
    1
    如果当前是https的,那么需要修改为ssh,通过如下命令修改为ssh:

    git remote set-url origin git@gitlab.com:demo/project.git
    1
    如何获取SSH URL,gitLab获取如下:


    或者如下:


    可以参考:
    【git 端口拒绝解决方案】ssh: connect to host github.com port 22: Connection refused

    GitLab之HTTP和SSH模式下免输密码

    如果还是不行的话,请参考 中GitLab添加公钥后仍然需要输入密码的解决 git config credential.helper store命令!

    附:
    默认是读取~/.ssh/id_rsa ,如果有多个rsa的话,最好是用 ssh -add命令添加一些git配置, 可以参考如下命令命令:

    ssh-keygen -t rsa -f ~/.ssh/id_rsa.name -C "email"

    ---------------------------------------------------------
    //生成 指定的文件名称的ssh key
    ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "742981086@qq.com"

    //添加到git 配置
    eval "$(ssh-agent -s)"
    ssh-add.exe ~/.ssh/id_rsa.github

    //测试和github是否连接正常
    ssh -T git@github.com

  • 相关阅读:
    主流ORM对比分析,莫人云亦云
    避免远程调用中固有的滞后时间问题的最佳方法是进行更少的调用,并让每个调用传递更多的数据。
    挣值管理(PV、EV、AC、SV、CV、SPI、CPI) 记忆
    项目成本管理记忆口诀:
    总是差和自由时差
    成本基线
    php htmlentities函数的问题
    .NET简谈事务、分布式事务处理
    Startup配置类 居然又是约定
    项目管理的九大只是领域输入,工具和输出
  • 原文地址:https://www.cnblogs.com/timssd/p/4596652.html
Copyright © 2020-2023  润新知