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

(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. 无界面上(linux)运行jmeter(2)

    无界面上(linux)运行jmeter 1.先在bin目录下面创建一个文件夹testplan用来存放脚本(.jmx文件),然后在创建一个文件夹testresult用来存放脚本执行后的结果(.jtl文件 ...

  2. Promise.then链式调用

    let a = new Promise((resolve,reject)=>{ resolve(1) }).then((r)=>{console.log(r)}).then(()=> ...

  3. oracle 在sql中显示blob的字符串

    最近在用oracle的过程中用到了对blob字段模糊查询的问题,对oracle来说,我并不是高手,找了很多的资料终于能够查出来了. blob字段直接用 select * from table_name ...

  4. this引用逸出

    1.定义 public class UnsafeClass { public UnsafeClass(Button button) { button.addActionListener(new Act ...

  5. linux 更改文件权限命令 chmod

    chmod -change file mode bits :更改文件权限 chmod是用来改变文件或者目录权限的命令,但只有文件的属主和超级用户(root)才有这种权限. 更改文件权限的2种方式: 一 ...

  6. linux文件过多导致移动失败解决办法

    1. cd /sdzw/data/infogateftp/srcdata/ibp/account_rulelog ls | xargs  -t  -I  {}  mv {} /sdzw/data/in ...

  7. 【转】【mysql面试】https://blog.csdn.net/hanfazy/article/details/14520437

    公司招聘MySQL DBA,也面试了10个2年MySQL DBA工作经验的朋友,谈谈自己的心得,欢迎大家指点. 1    2年MySQL DBA经验 其中许多有水分,一看到简历自我介绍,说公司项目的时 ...

  8. 教你用 Netty 实现一个简单的 RPC!

    众所周知,dubbo 底层使用了 Netty 作为网络通讯框架,而 Netty 的高性能我们之前也分析过源码,对他也算还是比较了解了. 今天我们就自己用 Netty 实现一个简单的 RPC 框架. 1 ...

  9. Jmeter 设置默认语言为中文

    1.在apache-jmeter-4.0\bin目录下,打开jmeter.properties; 2.将#language=en改为#language=cn,保存 3.重新启动jmeter.

  10. 11.AutoMapper 之值转换器(Value Transformers)

    https://www.jianshu.com/p/b77311546e64 值转换器(Value Transformers) 值转换器应用于单一类型的转换.AutoMapper在分配值之前,会检测该 ...