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 这里任何的文 ...
随机推荐
- 使用PowerShell远程连接WinServer
最近做一个项目后台,涉及到多台服务器,当程序更新的时候,由于用的是WinServer,无法像Linux使用SSH批量更新,用Windows的mstsc的远程一个一个连接又太麻烦了.查找了一下资料,发现 ...
- #Java学习之路——基础阶段二(第十一篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- 手写朴素贝叶斯(naive_bayes)分类算法
朴素贝叶斯假设各属性间相互独立,直接从已有样本中计算各种概率,以贝叶斯方程推导出预测样本的分类. 为了处理预测时样本的(类别,属性值)对未在训练样本出现,从而导致概率为0的情况,使用拉普拉斯修正(假设 ...
- Python中使用Ascii码
ord() #字母转ASCii码 chr() #ASCii码转字母
- Angular5 tslint错误:The selector of the component “XXXComponent” should be used as element
错误描述 在项目中自己封装了一个 select 组件 @Component({ selector: '[app-choosen-select]', templateUrl: './selectcomm ...
- jira:恢复数据:AO_187CCC_SIDEBAR_LINK
JIRA 恢复数据时报错 ,关键词是找不到 AO_187CCC_SIDEBAR_LINK. 经网上查为 mysql connect jar 包 的版本过高所致. 降低版本后,成功导入数据.
- Ubuntu 19.04 下使用Remmina连接window服务器部署maven项目
先将打包好的war包上传到tomcat的webapps目录下 如果配置了tomcat的虚拟路径,那就放进虚拟路径的webapps文件李 修改tomcat安装目录下的conf/server.xml文件 ...
- ubuntu 安装 Gurobi 的tips
要跑的一个深度学习框架用到了gurobi 安装在ubuntu上栽了两天时间,我安装的是ubuntu16.04的版本 自己去官网下载gurobi,我安装的是gurobi8.1.1 然后申请相应的lice ...
- Elasticsearch入门教程(一):Elasticsearch及插件安装
原文:Elasticsearch入门教程(一):Elasticsearch及插件安装 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...
- RabbitMQ入门教程(十):队列声明queueDeclare
原文:RabbitMQ入门教程(十):队列声明queueDeclare 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https:// ...