了解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

最新文章

  1. word如何插入目录
  2. “iTunes无法连接iPad,因为设备超时”解决办法
  3. 无服务端纯前台导出数据到Excel-JSExcelXML.js 使用指南
  4. H.264 基础及 RTP 封包详解
  5. Qt 二进制文件读写(使用“魔术数字”)
  6. [CSS3]学习笔记-文字与字体相关样式
  7. SpringCloud的Bus(一)消息中间件的概念和用途
  8. java死锁小例子
  9. php多进程模型 开箱即用
  10. UML(聚合、组合、依赖、继承、接口、类)
  11. DBHelper类
  12. RabbitMQ 学习
  13. java使用wait(),notify(),notifyAll()实现等待/通知机制
  14. Android:真机调试遇到的问题(INSTALL_FAILED_CANCELLED_BY_USER和INSTALL_FAILED_INSUFFICIENT_STORAGE)
  15. iOS基础知识之多态问题
  16. mysql 5.7.3.0-m13安装教程
  17. 互联网自治域间IP源地址验证技术综述
  18. 20155235 《网络攻防》 实验八 Web基础
  19. 搭建MySQL高可用负载均衡集群(转)
  20. Making the Grade---poj3666(dp)

热门文章

  1. Linux comm命令求出文件的交集、差集
  2. python按引用赋值和深、浅拷贝
  3. 注解@CrossOrigin解决跨域问题
  4. Tomcat 8005/8009/8080/8443端口的作用
  5. 从dm_exec_query_stats系统表查询耗时的SQL语句
  6. C#中关闭子窗口而不释放子窗口对象的方法
  7. spring_01概念及案例
  8. mapper代理方式开发
  9. nginx比apache处理静态文件速度快,但是nginx处理大量并发的php请求时,容易出现502错误,频率大概是多少
  10. java集合继承关系图