Git 托管平台免密连接

git连接远程仓库的方式分为两种,一种是https连接也就是通过用户名密码连接git远程仓库,另一种是通过SSH密钥对连接远程仓库。在每次克隆项目的时候就可以看到两种克隆方式地址前面的协议是不相同的。下面介绍一下这两种方式如何设置免密码连接版本库。

一、https方式连接远程仓库

如果是通过https的方式免密连接远程仓库,是非常简单的,指需要在克隆或者是配置远程仓库地址的时候带上用户名密码就OK了。下面演示的用户名:yanxiangrui 密码:123456, 备注:如果密码里带@符合那就不建议使用这种免密方式。

1、远程仓库是一个非空仓库

    >git clone https://yanxiangrui:123456@github.com/yanxiangrui/test.git

2、远程仓库是一个空仓库

    >echo "# test" >> README.md
    >git init
    >git add README.md
    >git commit -m "first commit"
    >git remote add origin https://yanxiangrui:123456@github.com/yanxiangrui/test.git
    >git push -u origin master

二、SSH方式连接远程仓库

1、创建SSH密钥对

    #进入SSH存放目录
    >cd ~/.ssh/  
    #创建ssh密钥对 
    >ssh-keygen -C "yanruilamp@163.com"

file
执行上面命令的时候会询问密钥对保存名称,我这个地方填写github_rsa,后面两次询问密码都不填写,这样我们的SSH密钥对就生成完毕了。下面查看一下,会看到我们设置的邮箱信息出现在了公钥里面了。

    #查看私钥
    >cat github_rsa
    #查看公钥
    >cat github_rsa.pub

file

2、添加SSH的config配置文件

SSH配置文件用于我们在使用SSH方式连接远程时,自动找到对应的私钥,这样以来就不需要使用密码了。下面先介绍一下config主要的一些配置项:

    >cd ~/.ssh/  
    >ls

file
第一次使用的时候是没有config配置文件的,如果存在config文件就不需要创建了。

    #创建config配置文件
    >touch config

file
接下来我们就来配置一下config文件,下面我使用vim编辑器,当然也可以使用你喜欢的编辑器。

    >vim config

使用编辑器打开后会发现什么东西都没有,接下来就在里面加入配置信息。

    Host github.com  #关键字 这个信息非常重要,在使用ssh的时候就是通过这个字段找到对应的私钥文件的 
        HostName github.com #主机地址 
        User root #用户名
        IdentityFile ~/.ssh/github_rsa #认证文件也就是私钥路径

如果需要配置多个密钥对
file

3、配置SSH公钥到Git托管平台

file
file
file

以上就是就是如何免密码使用git远程仓库的方法,上面使用的托管平台是GitHub,其他平台也是类似的。

本作品采用《CC 协议》,转载必须注明作者和本文链接
yanrui
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2

我木有config文件也能用啊

5年前 评论
yanrui

@lovecn SSH密钥对是随意生成的吗? 使用SSH的config文件可以为我们平时管理远程主机省掉一些命令。

    ssh root@192.168.10.10
    # 省掉后
    ssh 【别名|也就是config里的关键字】
5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!