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

解决git每次输入密码,设置gitlab、github默认push的用户名和密码的更多相关文章

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

    git ssh key配置&解决git每次输入密码:https://blog.csdn.net/qq_42817227/article/details/81415404

  2. 解决git反复输入密码的问题

    打开git命令面板 cd到项目根目录 $ git config --global credential.helper store然后只输入一次密码,后面就不需要了

  3. [Github] 本地git push免用户名和密码的配置

    在终端通过git config --global命令进行配置 git config --global user.email "xxx@xxmail.com" git config ...

  4. Win8无法访问xp共享的解决方法——win8网上邻居访问别的xp电脑要用户名和密码取消方法

    新装win8,原来的win7正常连接xp下载机的共享,但在win8下进网上邻居却无法访问xp的共享,显示”用户名或密码不正确”,而密码明明是对的如图所示: 解决方法: 按Win+R启动运行,输secp ...

  5. git for windows (又名 msysgit)如何记住用户名和密码

    创建存储用户名密码的文件 在home文件夹,一般是 C:\Documents and Settings\Administrator 下建立文件 .git-credentials (windows下不允 ...

  6. windows上解决git每次重复输入账号密码

    win7电脑: 1.在 C:\Users\Administrator 下 编辑 .gitconfig文件 2.在原有内容下添加一行(此行作用为自动保存,保存修改后再使用一次GIT,输入账号密码后下次即 ...

  7. Git Push 避免用户名和密码方法

    参考这里: http://www.cnblogs.com/ballwql/p/3462104.html 亲测第一种方法有效

  8. 各厂商服务器存储默认管理口登录信息(默认IP、用户名、密码)收集

    666:https://blog.csdn.net/xiezuoyong/article/details/84997917

  9. git——解决每次拉取、提交代码时都需要输入用户名和密码

    在开发中我们经常需要通过 git 对代码进行拉取和提交,频繁地输入用户名和密码会带来很大的麻烦,下面就介绍一下解决git每次拉取.提交代码时都需要输入用户名和密码的方法. 很简单,只要两步骤就能实现: ...

随机推荐

  1. 第六天 函数与lambda表达式、函数应用与工具

    一.函数 1.匹配 位置匹配 def func(a,b,c): print(a,b,c) func(c=1,a=2,b=3) 2 3 1 def func(a, b=2, c=3): print(a, ...

  2. vue中解决拖动和点击事件的冲突

    BUG说明: 鼠标上下方向拖拽,如果松开时鼠标位于悬浮按钮上会默认执行click事件,经验证,click事件与mouse事件的执行顺序为onmousedown =>onmouseup => ...

  3. 如何优雅的在 vue 中添加权限控制

    前言 在一个项目中,一些功能会涉及到重要的数据管理,为了确保数据的安全,我们会在项目中加入权限来限制每个用户的操作.作为前端,我们要做的是配合后端给到的权限数据,做页面上的各种各样的限制. 需求 因为 ...

  4. zepto(mark)

    Zepto的设计目的是提供 jQuery 的类似的API,但并不是100%覆盖 jQuery .Zepto设计的目的是有一个5-10k的通用库.下载并快速执行.有一个熟悉通用的API,所以你能把你主要 ...

  5. Android开发 DialogFragment对话框详解

    前言 在聊DialogFragment之前,我们看看以往我们在Android里实现一个对话框一般有这几种方式: Dialog 继承重写Dialog实现一个自定义的Dialog AlertDialog ...

  6. openwrt xfrp移植

    对开源软件表示支持 https://github.com/KunTengRom/xfrp 上传编译,选择 cp .config xxx make 刷机 客户端配置文件: /tmp/etc# cat x ...

  7. day04 - 02 linux简单的操作命令

    man ls:查看ls的帮助文档 ls --help:查看ls的帮助文档,简单查看 help cd: 查看内置命令(man)不可以查看内置命令 touch [filename]:创建一个文件 pwd: ...

  8. kudu安装过程中可能出现的问题

    kudu安装过成中可能出现的问题 1.给用户添加sudo权限的时候报错 sudo: /etc/sudoers is world writable 解决方式:pkexec chmod /etc/sudo ...

  9. poj2954Triangle

    传送门 Pick定理 定点坐标为整点的三角形,面积为S,边上的整点个数为L,三角形内部整点个数为N S=N+L/2-1 //Achen #include<algorithm> #inclu ...

  10. 国内外自然语言处理(NLP)研究组

     国内外自然语言处理(NLP)研究组 *博客地址 http://blog.csdn.net/wangxinginnlp/article/details/44890553 *排名不分先后.收集不全,欢迎 ...