Git主要使用4种协议传输数据:本地协议,SSH协议,Git协议和HTTP/S协议。

SSH协议是最为常用的一种,正式介绍SSH之前,简要说明一下其它协议。

本地协议(file://)

本地协议的优点就是简单,缺点是访问不便。

Git协议

这是一个包含在Git软件包中的特殊进程,它会监听一个提供类似于SSH服务的特定端口(9418),而无需任何授权。它的优点是它是传输速度最快的一个协议。缺点是正因为无授权,故这种协议没有写的权限,只有读的权限。另外这种协议是最难架设的协议,要求有单独的守护进程,需要定制。

HTTP/S协议

HTTP/S协议的优美之处在于假设简便,不需要占用过多的资源,另外HTTP是最常见的协议,大部分防火墙都会允许其通信。缺点是效率低,时间长。

SSH协议

SSH协议是最常见的一个协议,因为大部分环境都允许了SSH协议对服务器的访问,即使没有,架设这个协议也比较方便。另外,SSH协议也是唯一一个同时支持读写操作的网络协议。SSH的好处因此显而易见,假设简单,可读写,访问安全。缺点是不可进行匿名的访问。所以只有取得权限才能访问,没法利用此协议对公传输。

生成SSH公钥

关于SSH-key的文章,详情看github的这部分介绍

以下简单说明怎样实现SSH公钥的生成,导入以及访问。

  1. 生成:ssh-keygen -t rsa -b 4096 -C "your_email@example.com",把邮箱换成自己的邮箱

  2. 控制台中会提示是否需要附加口令,如果需要,直接输入两遍口令就可以生成公钥了(默认的公钥私钥的存放位置在~/.ssh目录)

  3. 进入~/.ssh目录,用文本编辑工具打开.pub格式的公钥,复制里面的内容到,在远程git仓库的设置里粘贴公钥即可将公钥导入到远程git仓库

  4. 验证公钥是否有效:ssh -T git@github.com。(coding.net的git地址是git@git.coding.net),如果有效,控制台中将会给出验证成功的信息。

Git的SSH-key生成、导入及使用的更多相关文章

  1. Git 中 SSH key 生成步骤

    由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在此之前,必须要生成SSH key. 第1步:创建SSH Key.在windows下 ...

  2. git ssh key生成

    重装系统后,需要重新安装git,ssh key便是遇到的其中一个问题,具体解决办法如下: 1.安装好git客户端后,查看本地是否有.ssh文件,命令如下:mkdir ~/.ssh 2.如果没有该文件, ...

  3. git配置SSH Key,上传本地代码至github

    git配置全局的name和email git config --global user.name "name" git config --global user.email &qu ...

  4. Git配置SSH Key

    最近看到很多人在配置Git时,遇到很问题,网上教程千篇一律.这儿自己单独记录一份. Git配置SSH Key 1.检查本机是否有ssh key设置,切换到.ssh目录 $ cd ~/.ssh 或cd ...

  5. 一台电脑上配置多个git的ssh key

    前几天公司的代码库全部迁移到了阿里云上,在配置git的ssh key的时候遇到了一个问题,那就是自己的密钥在添加时提示已经存在,原来是自己的个人账号上已经添加过这个密钥了,公司分配的账号就不能再添加这 ...

  6. git 配置ssh key

    第一次生成 ssh key 进入ssh目录  cd ~/.ssh,再输入:ls ,查看文件,如果有.pub的文件,说明已有ssh key 如果没有, 则生成秘钥:ssh-keygen -t rsa - ...

  7. ssh key生成

    Mac电脑用终端生成SSH key 访问自己的Github 字数684 阅读427 评论4 喜欢15 前言:最近有不少刚刚使用github管理代码的开发者或者新手码农在网上 问我如何关联自己的gith ...

  8. Git使用ssh key

    生成ssh key步骤 这里以配置github的ssh key为例: 1. 配置git用户名和邮箱 git config user.name "用户名" git config us ...

  9. git 配置 .ssh key

    1.安装git软件: 2.打开本地git bash,使用如下命令生成ssh公钥和私钥对: ssh-keygen -t rsa -C 'xxx@xxx.com'    然后一路回车(-C 参数是你的邮箱 ...

  10. 个人在git配置SSH Key遇到的问题以及解决方案

    第一次用git上传代码到github,在这过程中遇到很多问题,在输入git命令的时候都小心翼翼,因为一不小心感觉就会出错.. 英语不好..在敲入git命令过程中各种错误提示勉强翻译下才看得懂 最后输入 ...

随机推荐

  1. Node核心模块

    在Node中,模块主要分两大类:核心模块和文件模块.核心模块部分在 Node 源代码的编译过程中,编译进了二进制执行文件.在 Node 进启动时,部分核心模块就被直接加载进内存中,所以这部分核心模块引 ...

  2. CSS之metra&title&base&target

    <!DOCTYPE html><html lang="en"><head> <style type="text/css" ...

  3. FastCGI点滴

    FastCGI是一种二进制协议,用于将交互式程序与Web服务器连接.它是早期通用网关接口(CGI)的变体.FastCGI的主要目标是减少与Web服务器和CGI程序之间的接口相关的开销,允许服务器每单位 ...

  4. [UE4]Window Title Bar Area

    一.Window Title Bar Area.windows窗口拖拽控件 二.window Buttons Enabled,在控件的右上角显示:最小化.最大化,关闭按钮; Toggle Fullsc ...

  5. Linux find 命令参数大全及示例

    Linux中find常见用法示例 命令格式:find path -option [-print] [ -exec -ok command] {} \; 参数说明: path:find命令所查找的目录路 ...

  6. java中随机二维数组中寻找最大值并输出坐标

    public static void main(String[] args) { int x=0; int y=0; int a[][]=new int[5][5]; int max=-Integer ...

  7. txt,csv,json互相转化

    也没啥,记下来怕忘了.说明都在代码里面: 麻蛋,这个着色好难看 import csv import json #从txt变为csv student_txt=[]; with open("st ...

  8. Python程序互斥体

    Python程序互斥体   有时候我们需要程序只运行一个实例,在windows平台下我们可以很简单的用mutex实现这个目的.   在开始时,程序创建了一个命名的mutex,这个mutex可以被其他进 ...

  9. python 函数的名称空间及作用域

    一:名称空间 1:什么是名称空间: 名称空间即:储存名字与值的内存地址关联关系的空间 2.名称空间的分类: 内置名称空间:存储器自带的一些名称与值的对应关系,如:print,len,max等; 生命周 ...

  10. AD+DMA+USART实验中的收获和总结

    由于实验室用的是USART3接口,但是在基地实验时,由于没有RS232,只能换到USART1,进行实验.(在交作业的时候,记得要再换回去) 在这个过程中,遇到困难,用串口软件发送数据时无响应,应该意味 ...