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

(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. 分期花呗 账户交易通知:尾号6932客户,您的申请已通过,账户余额38139元,无手续费,点t.cn/Aijsx9vq取款,回T退订。

    10692285499 分期花呗 账户变动通知:尾号6932客户,您的申请已通过,账户余额5000元,请及时点击t.cn/AiOMsNAm取款,回T退订. 106935276259002分期花呗 账户 ...

  2. plsql连接本地oracle数据库,而远程主机却无法连接,出现无监听程序的解决方法(转)

    原文转自:plsql连接本地oracle数据库,而远程主机却无法连接,出现无监听程序的解决方法 最近在使用plsql连接本地oracle数据库的时候,在同一网络环境中,出现了可以连接本地oracle, ...

  3. Cocos2d-X多线程(3) cocos2dx中的线程安全

    在使用多线程时,总会遇到线程安全的问题.cocos2dx 3.0系列中新加入了一个专门处理线程安全的函数performFunctionInCocosThread(),他是Scheduler类的一个成员 ...

  4. 【神经网络与深度学习】深度学习实战——caffe windows 下训练自己的网络模型

    1.相关准备 1.1 手写数字数据集 这篇博客上有.jpg格式的图片下载,附带标签信息,有需要的自行下载,博客附带百度云盘下载地址(手写数字.jpg 格式):http://blog.csdn.net/ ...

  5. jinja2模板接受

    from flask import Flask,render_template app = Flask(__name__)#template_folder='templates',默认就是templa ...

  6. 2019JAVA第六次实验报告

    Java实验报告 班级 计科二班 学号 20188442 姓名 吴怡君 完成时间 2019.10.18 评分等级 实验四 类的继承 实验目的 理解异常的基本概念: 掌握异常处理方法及熟悉常见异常的捕获 ...

  7. CodeForces-431D Random Task

    题目描述 求一个\(n\),使得\(n+1\)到\(2n\)这些数的二进制中恰好有\(k\)个\(1\)的数有\(m\)个. Input 输入包含两个正整数\(m,k\).$(0<=m<= ...

  8. zookeeper 选举leader详解

    一.前言 前面学习了Zookeeper服务端的相关细节,其中对于集群启动而言,很重要的一部分就是Leader选举,接着就开始深入学习Leader选举. 二.Leader选举 2.1 Leader选举概 ...

  9. 如何创建并发布一个 vue 组件

    步骤 创建 vue 的脚手架 npm install -g @vue/cli vue init webpack 绑定 git 项目 cd existing_folder git init git re ...

  10. Python基础学习——文件操作、函数

    一.文件操作 文件操作链接:http://www.cnblogs.com/linhaifeng/articles/5984922.html(更多内容见此链接) 一.对文件操作流程 打开文件,得到文件句 ...