SSH加密传输
数据传输安全的要满足的要求:
(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加密传输的更多相关文章
- FTPS (FTP over SSL) vs. SFTP (SSH 文件传输协议): 我们如何做出选择
第一个RFC的FTP协议发布通过网络使用FTP协议(由RFC 959或更高版本)的文件传输始于1980年,FTP提供上传,下载和删除文件,创建和删除目录,读取目录内容的功能.虽然FTP是非常受欢迎的, ...
- SSH加密原理、RSA非对称加密算法学习与理解
首先声明一下,这里所说的SSH,并不是Java传统的三大框架,而是一种建立在应用层和传输层基础上的安全外壳协议,熟悉Linux的朋友经常使 用到一 个SSH Secure Shell Cilent的工 ...
- SSH & 文件传输 & 远程桌面管理
SSH Windows Linux MacOS Android IOS https://www.ssh.com http:/ ...
- linux下使用vsftp搭建FTP服务器:匿名登录,账号登录,SSL加密传输
目录 一.关于FTP和VSFTP 二.ftp.sftp.vsftp.vsftpd的区别 三.项目一:搭建一台所有人都可以访问的通用FTP服务器 3.1 项目要求 3.2 项目思路分析 3.3 使用vs ...
- 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 ...
- Java 前端加密传输后端解密以及验证码功能
目录(?)[-] 加密解密 1 前端js加密概述 2 前后端加密解密 21 引用的js加密库 22 js加密解密 23 Java端加密解密PKCS5Padding与js的Pkcs7一致 验证码 1 概 ...
- 用RSA加密实现Web登录密码加密传输
通常我们做一个Web应用程序的时候都需要登录,登录就要输入用户名和登录密码,并且,用户名和登录密码都是明文传输的,这样就有可能在中途被别人拦截,尤其是在网吧等场合. 这里顺带一个小插曲,我以前有家公司 ...
- 加密传输SSL协议6_验证公钥
如上图所示,我怎么能确定我手里的公钥就是我心中的接收方的公钥呢?怎么防止被钓鱼呢? 解决的办法就是引入一个第三方,一个权威机构,一个我们都相信的机构. 验证公钥,Digital Certificate ...
- 加密传输SSL协议5_Hash Function
怎么对一个大的文件进行签名,因为文件比较大,非对称签名很慢.那么想,我能把这个大的文件通过一种函数变换,变成一个和源文件唯一对应的的小的文件吗?答案是可以的. Hash Function 这里任何的文 ...
随机推荐
- 正确关闭selinux
.查看当前selinux的状态命令为 getenforce .两个都要关.注意先看看有么有这两个文件,如果没有就创建一个,否则后期会出现很多问题 cat > /etc/selinux/confi ...
- ssm遇到的问题
1. Caused by: java.lang.IllegalArgumentException at org.springframework.asm.ClassReader.<init> ...
- bootstrap datetimepicker、bootstrap datepicker日期组件对范围的简单封装
1.bootstrap datepicker 使用 <div class="row form-group"> <label class="control ...
- Fidder插件自动生成爬虫代码(C#)
原创,效果如下: 1.新建项目,并添加Fidder.exe的引用: 2.添加代码 [assembly: Fiddler.RequiredVersion("2.2.8.6")]usi ...
- CF1187E Tree Painting【换根dp】
题目传送门 题意 一棵$N$个节点的树,初始时所有的节点都是白色,第一次可以选择任意一个把它涂成黑色.接下来,只能把与黑色节点原来相连的白色节点涂成黑色(涂成黑色的点视为被删去,与其它节点不相连).每 ...
- layer最大话.最小化.还原回调方法
layer.open({ type: 1, title: ‘在线调试‘, content: ‘这里是内容‘, ...
- linxu passwd 给linux用户设置密码 命令
[root@localhost ~]# passwd # 修改 root 用户的密码 passwd 给linux用户设置密码 命令 passwd www 直接passwd是当前用户设置密码 非交互式修 ...
- 洛谷 P1972 HH的项链 题解
题面 本题其实主要就这几点: 1.离线,以右端点排序(从小到大); 2.建立树状数组c[],c[i]表示从1~i中有多少种不同的数字: 3.对于每次查询的答案就是sum(r)-sum(l-1); 4. ...
- Forsaken给学生分组
链接:https://ac.nowcoder.com/acm/contest/1221/C来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...
- Springboot2.0加载指定配置文件@PropertySource的使用
1. 在resouces下编写待加载的配置文件 这里使用person.properties # String person.last-name=john # int person.age=112 # ...