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 这里任何的文 ...
随机推荐
- malloc分配内存进行对齐的操作
昨天面试高通Linux Kernel,面试官考了一个malloc内存对齐的问题,我晚上的时候细细的想了一下,实在是学习的不到位. 有的时候真的应该感谢,像是Qt.Ubuntu Gcc的编译器,他们做的 ...
- Professional JavaScript for Web Developers P226
我是这么理解的: (object.getName = object.getName),这条语句在执行结束后,返回的是右操作数object.getName: 但是关键是这个右操作数现在放在哪里 ? 我 ...
- 重叠IO 模型
1. 重叠模型的优点 2. 重叠模型的基本原理 3. 关于重叠模型的基础知识 4. 重叠模型的实现步骤 5. 多客户端情况的注意事项 一.重叠模型的优点 1.可以运行在支持Winsock2的所有W ...
- Java并发ReadWriteLock接口
java.util.concurrent.locks.ReadWriteLock接口允许一次读取多个线程,但一次只能写入一个线程. 读锁 - 如果没有线程锁定ReadWriteLock进行写入,则多线 ...
- 洛谷 P5043 树的同构 题解
题面 本题的难度其实不及紫题的难度.主要是在hash时的处理细节比较繁琐: 首先是树hash的模板: long long treehash(int u,int fa) { ]; ; ; for(int ...
- HDU 1159 Common Subsequence 最长公共子序列
HDU 1159 Common Subsequence 最长公共子序列 题意 给你两个字符串,求出这两个字符串的最长公共子序列,这里的子序列不一定是连续的,只要满足前后关系就可以. 解题思路 这个当然 ...
- 滑雪(dp或记忆化搜索)
题意:给你一个二维数组,求最长的递减路线的长度,只能向四个方向延伸. 解法1.dp[i][j]以i.j结尾的最长路线长度.边界:每个数初值为1, 转移:从四周向i.j转移,if(a[i][j]> ...
- Elasticsearch操作索引
目录 操作索引 1. 基本概念 2. 创建索引 2.1 语法 2.2查看索引设置 2.3.删除索引 2.4 映射配置 2.5 新增数据 2.6 修改数据 2.7 删除数据 3. 查询 3.1 基本查询 ...
- chrome://inspect 白屏BUG解决方案
chrome://inspect 是前端常用的调试工具但是有时候会碰到PC端dev-tools白屏的问题 1.首先我们要处于[科][学]的网络环境 2.在 chrome 中输入chrome://app ...
- url简单加密
使用urlencode和urldecode可以对传输的字符串进行简单的加密,也可用于将汉字转换为16进制数字进行传输,每个16进制数前面都带一个% urlencode : 将中文转换为16进制数 ur ...