数据传输安全的要满足的要求:

(1)消息的发送方能够确定消息只有预期的接收方可以解密(不保证第三方无法获得,但保证第三方无法解密)

(2)消息的接收方可以确定消息是由谁发送的(消息的接收方可以确定消息的发送方)

(3)消息的接收方可以确定消息在途中没有被篡改过(必须确认消息的完整性)

对称加密:

流程:

密钥加密              在网络中传输                 逆运算解密

(发送方)明文 ---------------> 密文 ------------------> 目的主机 ---------------> (接收方)明文

特点:加密和解密过程都是用同一个密钥

非对称加密:

非对称加密算法双方均有两个密钥:公钥和私钥;

公钥与私钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密

流程:

发送方:

(1)将消息进行散列运算,得到一个固定位数的消息摘要

(2)用自己的私钥对消息摘要加密,得到数字签名(认证模式:确保接收方能够确认自己)

(3)使用接收方的公钥对消息进行加密(加密模式:确保消息只能由期望的接收方解密)

(4)发送消息和消息摘要

接收方:

(1)使用发送方的公钥对消息摘要进行解密(确认消息是由谁发送的)

(2)使用自己的私钥对消息进行解密(安全地获得实际应获得的信息)

(3)将消息进行散列运算,获得消息摘要

(4)将上一步获得的消息摘要和第一步解密的消息摘要进行对比(确认消息是否被篡改)

数字证书生成流程:

(1)用户首先产生自己的密钥对,并将公共密钥及部分个人身份信息传送给认证中心

(2)认证中心在核实身份后,将执行必要的步骤,以确信请求确实由用户发送而来

(3)认证中心将发给用户一个数字证书,证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息

数字证书由独立的证书发行机构发布

SSH远程登录

  不指定用户登录:ssh 192.168.0.11

  指定用户登录:ssh -l root 192.168.0.11

  ssh root@192.168.0.11

  ssh登录指定端口:ssh -p 12333 192.168.0.11

  ssh -l root -p 12333 192.168.0.11

  ssh -p 12333 root@192.168.0.11

  另外修改配置文件/etc/ssh/sshd_config,可以改ssh登录端口和禁止root登录。改端口可以防止被端口扫描。

创建SSH key 

  $ ssh-keygen -t rsa -C "your_email@example.com"

  代码参数含义:

  -t 指定密钥类型,默认是 rsa ,可以省略。
  -C 设置注释文字,比如邮箱。
  -f 指定密钥文件存储文件名。

  用户根目录下生成的 .ssh 文件夹:

  .ssh/…

  id_rsa           生成的私钥

   id_rsa.pub    生成的公钥

   known_hosts      记录已经访问过计算机的公钥,下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同, SSH会发出警告。

    authorized_keys 用于保存所有允许以当前用户身份登录的SSH客户端用户的公钥内容

免密登录远程主机:将本地生成的id_rsa.pub内容追加到远程主机的authorized_keys文件中即可

SSH加密传输的更多相关文章

  1. FTPS (FTP over SSL) vs. SFTP (SSH 文件传输协议): 我们如何做出选择

    第一个RFC的FTP协议发布通过网络使用FTP协议(由RFC 959或更高版本)的文件传输始于1980年,FTP提供上传,下载和删除文件,创建和删除目录,读取目录内容的功能.虽然FTP是非常受欢迎的, ...

  2. SSH加密原理、RSA非对称加密算法学习与理解

    首先声明一下,这里所说的SSH,并不是Java传统的三大框架,而是一种建立在应用层和传输层基础上的安全外壳协议,熟悉Linux的朋友经常使 用到一 个SSH Secure Shell Cilent的工 ...

  3. SSH & 文件传输 & 远程桌面管理

    SSH   Windows Linux MacOS Android IOS                                     https://www.ssh.com http:/ ...

  4. linux下使用vsftp搭建FTP服务器:匿名登录,账号登录,SSL加密传输

    目录 一.关于FTP和VSFTP 二.ftp.sftp.vsftp.vsftpd的区别 三.项目一:搭建一台所有人都可以访问的通用FTP服务器 3.1 项目要求 3.2 项目思路分析 3.3 使用vs ...

  5. SQL Server 2008, 2008 R2, 2012 and 2014 完全支持TLS1.2加密传输

    SQL Server 2008, 2008 R2, 2012 and 2014 完全支持TLS1.2加密传输 微软高兴地宣布所有主流SQL Server客户端驱动和SQL Server发行版已经支持T ...

  6. Java 前端加密传输后端解密以及验证码功能

    目录(?)[-] 加密解密 1 前端js加密概述 2 前后端加密解密 21 引用的js加密库 22 js加密解密 23 Java端加密解密PKCS5Padding与js的Pkcs7一致 验证码 1 概 ...

  7. 用RSA加密实现Web登录密码加密传输

    通常我们做一个Web应用程序的时候都需要登录,登录就要输入用户名和登录密码,并且,用户名和登录密码都是明文传输的,这样就有可能在中途被别人拦截,尤其是在网吧等场合. 这里顺带一个小插曲,我以前有家公司 ...

  8. 加密传输SSL协议6_验证公钥

    如上图所示,我怎么能确定我手里的公钥就是我心中的接收方的公钥呢?怎么防止被钓鱼呢? 解决的办法就是引入一个第三方,一个权威机构,一个我们都相信的机构. 验证公钥,Digital Certificate ...

  9. 加密传输SSL协议5_Hash Function

    怎么对一个大的文件进行签名,因为文件比较大,非对称签名很慢.那么想,我能把这个大的文件通过一种函数变换,变成一个和源文件唯一对应的的小的文件吗?答案是可以的. Hash Function 这里任何的文 ...

随机推荐

  1. OpenStack 制作image,启动VM,无console log

    OpenStack image 制作官方文档:https://docs.openstack.org/image-guide/create-images-manually.html 如果通过制作的镜像启 ...

  2. 阶段3 2.Spring_03.Spring的 IOC 和 DI_10 构造函数注入

    在AccountServiceImpl内定义三个属性 这里关注点是这几种类型.基本类型的包装类Integer 还有String类型,也包含了其他bean类型.Date 定义构造函数并赋值 重点关注在数 ...

  3. RabbitMQ问题解决

    1.访问http://localhost:15672/#/,输入用户名.密码登录报错500 解决方法:在快捷程序处找到RabbitMQ Service -stop停止服务,然后再点击RabbitMQ ...

  4. Java学习之==>注解

    一.概述 关于注解,首先引入官方文档的一句话:Java 注解用于为 Java 代码提供元数据.作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的.接下我将从注解的定义. ...

  5. dapper 分页根据时间条件查询时中的一个坑

    当数据库中数据很多的时候,这样写,查询速度会很慢. db.Query<AuditLogModel>(queryStr, searchModel);// 应该这样写 var logDatas ...

  6. 图片下载&&非同源图片下载&&同源下载&&网页点击下载图片

    非同源图片下载(html添加canvas标签) 方法1: downloadImgByBase64(url){ console.log() // 创建隐藏的可下载链接   // let  blob = ...

  7. mysql——单表查询——分组查询——示例

    一.基本查询语句 select的基本语法格式如下: select 属性列表 from 表名和视图列表 [ where 条件表达式1 ] [ group by 属性名1 [ having 条件表达式2 ...

  8. urllib:处理网络异常

    from urllib import request, error import ssl import urllib.request import socket import urllib.error ...

  9. Go语言代码结构与语法基础(二)

    任何一门语言,都是从打印 hello world 开始的. 最简单的go代码: package main // 声明 main 包,表明当前是一个可执行程序 import "fmt" ...

  10. mysql 聚合函数(2)

    平均 svg select avg(sal + IFNULL(comm,0)) as avg_sal from t_emp 总和 sum select sum(sal + IFNULL(comm,0) ...