首页
Javascript
Html
Css
Node.js
Electron
移动开发
小程序
工具类
服务端
浏览器相关
前端收藏
其他
关于
公司注册

linux下设置git(pull,push等)免密码操作

2019年06月04日 发布 阅读(3249) 作者:Jerman

生成ssh密钥

  1. ssh\-keygen \-t rsa \-C ["yourEmail@xxx.com"]
  1. // 出现下行,直接按Enter,
  2. Enter file in which to save the key (/root/.ssh/id\_rsa):
  3. // 第一次输入公钥密码(推荐不用输入,直接回车,以便在clone、pull、push等不用输入公钥密码)
  4. Enter passphrase (empty for no passphrase):
  5. // 再次输入公钥密码
  6. Enter same passphrase again:

CentOS7中默认生成的目录是在/root下面

  1. cd /root/.ssh

查看公钥id_rsa.pub,并复制公钥

  1. cat id_rsa.pub

到git远程服务器找到公钥或私钥添加的地方

如腾讯工蜂里,将复制的密钥添加进去

clone代码

这里就不再使用”https”了,使用SSH clone项目下来

  1. git clone git@git.code.tencent.com:xxxx/project.git

到此,完成。
后面使用git push,git pull 就不用再输入密码了

问题

  • git bash clone时输入密码无效

把专用密钥(private and public keys)添加到 ssh-agent 的高速缓存中

  1. ssh-add ~/.ssh/id_rsa
  2. ssh-add -d ~/.ssh/id_rsa.pub

如果执行ssh-add时提示”Could not open a connection to your authentication agent”,可以现执行命令:

  1. ssh-agent bash

同一台电脑管理多个ssh

生成的时候 ,保存一个名称 ,如 ssh_test

  1. ssh\-keygen \-t rsa \-C ["yourEmail@xxx.com"]
  1. // 出现下行,输入ssh_test
  2. Enter file in which to save the key (/root/.ssh/id\_rsa):
  3. // 第一次输入公钥密码(推荐不用输入,直接回车,以便在clone、pull、push等不用输入公钥密码)
  4. Enter passphrase (empty for no passphrase):
  5. // 再次输入公钥密码
  6. Enter same passphrase again:

执行上面代码 ,会在~/.ssh/目录生成一个 ssh_test.pubssh_test文件,这时候~/.ssh/目录下还有一个id_rsaid_rsa.pub文件

默认系统只会查找 id_rsaid_rsa.pub文件

要想ssh_test.pubssh_test文件生效,必须在~/.ssh/创建一个配置文件

配置文件名称为config,没有后缀,名称就叫config,内容如下

  1. # tencent
  2. Host git.code.tencent.com
  3. HostName git.code.tencent.com
  4. PreferredAuthentications publickey
  5. IdentityFile ~/.ssh/id_rsa
  6. # ssh_test,可以是IP
  7. Host 10.90.30.102
  8. HostName 10.90.30.102
  9. PreferredAuthentications publickey
  10. IdentityFile ~/.ssh/ssh_test
版权声明:本站文章除特别声明外,均采用署名-非商业性使用-禁止演绎 4.0 国际 许可协议,如需转载,请注明出处
  • Unable to negotiate with 106.52.160.162 port 22: no matching host key type found. Their offer: ssh-rsa fatal: Could not read from remote repository.

    Unable to negotiate with 106.52.160.162 port 22: no matching host key type found. Their offer: ssh-rsa fatal: Could not read from remote repository.

    发布:2021-11-09 阅读(4666)

  • 使用git hooks(post-receive)实现简单的远程自动部署

    使用git hooks(post-receive)实现简单的远程自动部署

    发布:2019-06-05 阅读(5771)

  • linux下设置git(pull,push等)免密码操作

    linux下,设置git免密码操作

    发布:2019-06-04 阅读(3249)

  • git cherry-pick使用指南

    **git cherry-pick**可以选择某一个分支中的一个或几个commit(s)来进行操作。例如,假设我们有个稳定版本的分支,叫v2.0,另外还有个开发版本的分支v3.0,我们不能直接把两个分支合并,这样会导致稳定版本混乱,但是又想增加一个v3.0中的功能到v2.0中,这里就可以使用cherry-pick了,其实也就是对已经存在的commit 进行再次提交.

    发布:2018-12-28 阅读(3339)

  • 找回Git中丢失的Commit(git如何撤消reset操作)

    在使用Git的过程中,有时候会因为一些误操作,比如reset、rebase、merge等。特别是在Commit之后又执行了`git reset --hard HEAD`强制回滚本地记录以及文件到服务器版本,导致本地做的修改全部恢复到Git当前分支的服务器版本,同时自己的Commmit记录也消失了。碰到这种情况,不要慌,我们在Git上做的任何操作都只是在原来之前的操作上做修改,并且会被记录下来保存,也就是说无论你做了什么,对于Git来说都可以进行回滚操作。

    发布:2018-12-28 阅读(2769)

  • git bisect 命令教程

    它的原理很简单,就是将代码提交的历史,按照两分法不断缩小定位。所谓"两分法",就是将代码历史一分为二,确定问题出在前半部分,还是后半部分,不断执行这个过程,直到范围缩小到某一次代码提交。

    发布:2018-12-27 阅读(2459)

  • git输入不显示,只有光标在闪的问题

    当在git操作log,如`git log`后,然后非正常退出,即使用`CTRL+C`退出,这个时候git输入命令就不会显示了,只有光标,这时怎么办?

    发布:2018-12-26 阅读(4068)

  • .gitignore文件配置不生效

    .gitignore文件配置不生效

    发布:2018-12-24 阅读(3930)

  • git修改当前项目用户

    git修改当前项目用户

    发布:2018-12-11 阅读(2362)

  • Git修改最近一次已经提交了的commit及push

    Git修改最近一次已经提交了的commit及push

    发布:2018-12-11 阅读(1995)

  • git常用命令

    git常用命令,git查看某个文件的修改记录,分支备注

    发布:2018-11-30 阅读(3120)

  • Git 分支 - 分支的新建与合并

    发布:2018-11-27

  • git diff忽略某些文件,不比较

    通过设置git-diff driver,结合.gitattributes文件,使git diff命令忽略某些目录。例如我们只希望看到比较src目录,不希望看到比较dist目录

    发布:2018-10-26 阅读(6674)

  • git教程(写的比较详细,适合初学者,值得阅读)

    学习这本书的目的是让你了解版本控制,并且尽可能快速简单的掌握 Git。但是和另外一些关于介绍版本控制的图书不一样,阅读这本书并不需要你有很专业的 IT 或者电脑背景知识,它也面向那些编程的初学者,软件构架师,或者是项目经理。在技术方面你也不需要有很多专业知识,我们会以循序渐进的方式帮助你来理解版本控制和掌握 Git。

    发布:2018-10-19 来源:git-tower.com

  • git打包成tar\zip文件

    git如何打包增量文件?

    发布:2018-05-30 阅读(6179)

  • github push免密码

    github push时免密码

    发布:2015-01-05 阅读(1938)