SSH 和 Git
了解SSH
SSH 以非对称加密实现身份验证。较常用的非对称加密有 RSA。
两种加密过程:
1、通过用户名密码访问服务器,即使传输的数据是加密的也可能会被劫持到不信任的服务器,泄露用户名和密码。
2、通过将公钥(用来加密和认证客户端)放到信任的服务器上来和服务器传输密文。
两张丑图大概解释一下。
可以明显看到第二图的漏洞,劫持 公钥后就可以肆无忌惮的发送信息给服务器了,所以一般情况下会有一个认证中心服务器,客户端需要持有认证中心的公钥来发送密文,认证中心再持有所有服务器的公钥来分发请求。
参考:维基百科SSh
使用 OpenSSH 和 Putty。
使用 OpenSSH 生成用于git 的密钥。
打开 git bash
ls -al ~/.ssh 列出目录 或直接打开 C:\Users\电脑用户名\.ssh
-A | 列示所有条目,除了 .(点)和 ..(点-点)。 |
-a | 列示目录中所有条目,包括以 .(点)开始的条目。 |
L | 列示链接引用的文件或目录内容。这是缺省操作。后跟符号链接。如果使用 -l 选项,-N 选项就成为缺省值,不后跟符号链接。当使用 -l 选项时,仅有 -L 选项能够覆盖 -N 缺省值。 |
-l | (L 的小写)显示方式、链接数目、所有者、组、大小(按字节)和每个文件最近一次修改时间。如果文件是特殊文件,大小字段包含主要和次要设备数目。如果最近一次修改时间大于六个月之前,时间字段以 月份 日期 年份的格式显示,然而六个月内修改的文件以 月份 日期 时间 的格式显示。
如果文件是符号链接,打印所链接到的文件的路径名,其前跟 ->。显示符号链接的属性。-n、-g、和 -o 标志覆盖 -l 标志。 |
ssh-keygen -t rsa -C "Comment" 生成rsa密钥对
Comment 可以填你的邮件或日期等其他注释
ssh-add ~/.ssh/id_rsa 添加密钥到ssh-agent缓存中
如果失败可以先执行一下 ssh-agent 命令。
ssh-agent就是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,注意这是临时的。
手动拷贝公钥(id_rsa.pub 文件的内容)到服务器上 pbcopy < ~/.ssh/id_rsa.pub
github 或 gitlab 等账户设置里 ssh 选项 add key 就行了。
输入 ssh git@github.com 测试。
使用 git 工具克隆代码
如果没有成功会提示:
Disconnected: No supported authentication methods available (server sent: publickey)
sourcetree、Git Extensions 、命令行工具都行。
Putty 认证代理
下载 Git Extensions 最新版 安装的时候勾选 putty。
功能简介:生成密钥对(虚拟文件)、转换 OPenSSh 密钥对、认证代理(ssh-agent 、ssh-add)。
其他类似。
补充1、每次要打开认证代理并添加私钥才能与服务器交互
比如git 推送的时候打开了代理没有添加私钥 提示
fatal: protocol error: bad line length character: Usin
最新文章
- word如何插入目录
- “iTunes无法连接iPad,因为设备超时”解决办法
- 无服务端纯前台导出数据到Excel-JSExcelXML.js 使用指南
- H.264 基础及 RTP 封包详解
- Qt 二进制文件读写(使用“魔术数字”)
- [CSS3]学习笔记-文字与字体相关样式
- SpringCloud的Bus(一)消息中间件的概念和用途
- java死锁小例子
- php多进程模型 开箱即用
- UML(聚合、组合、依赖、继承、接口、类)
- DBHelper类
- RabbitMQ 学习
- java使用wait(),notify(),notifyAll()实现等待/通知机制
- Android:真机调试遇到的问题(INSTALL_FAILED_CANCELLED_BY_USER和INSTALL_FAILED_INSUFFICIENT_STORAGE)
- iOS基础知识之多态问题
- mysql 5.7.3.0-m13安装教程
- 互联网自治域间IP源地址验证技术综述
- 20155235 《网络攻防》 实验八 Web基础
- 搭建MySQL高可用负载均衡集群(转)
- Making the Grade---poj3666(dp)
热门文章
- Linux comm命令求出文件的交集、差集
- python按引用赋值和深、浅拷贝
- 注解@CrossOrigin解决跨域问题
- Tomcat 8005/8009/8080/8443端口的作用
- 从dm_exec_query_stats系统表查询耗时的SQL语句
- C#中关闭子窗口而不释放子窗口对象的方法
- spring_01概念及案例
- mapper代理方式开发
- nginx比apache处理静态文件速度快,但是nginx处理大量并发的php请求时,容易出现502错误,频率大概是多少
- java集合继承关系图