ssh原理及加密传输
1.ssh??(保证过程中是加密的,即安全的)
ssh 是 Secure Shell 的缩写,是一个建立在应用层上的安全远程管理协议。ssh 是目前较为可靠的传输协议,专为远程登录会话和其他网络服务提供安全性。利用 ssh 协议可以有效防止远程管理过程中的信息泄露问题。ssh可用于大多数UNIX和类UNIX操作系统中,能够实现字符界面的远程登录管理,它默认使用22端口,采用密文的形式在网络中传输数据,相对于通过明文传输的Telnet协议,具有更高的安全性。
2.ssh的登录验证模式
ssh 提供了基于账户密码(口令)和密钥对两种登录验证方式,这两者都是通过密文传输数据的。
账户密码验证:
账户密码登录认证过程中传输的是用户的账户名和密码,密码具有足够的复杂度才能具有更高的安全性。
Linux主机之间的远程管理工具是ssh命令,所以我们直接使用ssh进行远程登录
格式:
ssh 用户名@IP地址 e.g. ssh root@192.168.88.20
windows远程登录Linux主机一般使用第三方工具,比如Xshell等工具
密钥对验证:
⑴首先需要在 Client 上创建一对密钥,并且需要把公钥放在需要访问的 Server 上
⑵当 Client 需要连接 Server 时,Client 端的软件就会向 Server 端发出登录请求,请求使用密钥对中的的公钥进行安全验证
⑶Server 收到请求之后,会在该用户的家目录下查询公钥文件,拿 Client 发送过来的公钥和自己家目录下的公钥进行比较
⑷如果两个公钥一致,Server 就用公钥加密“challenge(质疑)”,并把它发送给 Client 软件。Client 收到加密内容之后,使用本地的私钥进行解密,再把解密结果发送给 Server 端,Server 端验证成功后,允许登录
注意:若第3个步骤对比结果失败,则 Server 端会通知 Client 端此公钥未在本机注册,无法验证登录
秘钥对:对要进行保护的数据进行加密和解密的词典(查找顺序具有一定的规律)
公钥: 服务器产生,强行要求客户端接收,并使用其加密数据
私钥(秘钥): 服务器产生,解密客户端发送的加密数据(使用自己公钥加密的数据)
单向加密:ssh默认就是单向加密,客户端发往服务器的数据是加密的
双向加密:客户端也产生秘钥对,并将公钥存放在服务器端一份,形成双向加密
#需人为设置 但越安全的加密越会造成数据存储和传输压力变大,效率变低。
https://
http://
证书加密 类似于 秘钥对
Linux之间进程远程登录:
ssh 用户名@IP地址 #默认请求对方的22端口
Linux客户端接收了公钥文件后,会将公钥文件存放的路径:~/.ssh/known_hosts
#所有登录服务器的客户端所接收的公钥就是同一个文件
公钥文件:公开性的,所有人都能获取到
私钥文件:必须仅保存在服务器端,并且只有服务器端能使用
服务器端的公钥私钥来自于哪?
ssh服务的安装路径:/etc/ssh/
*_key #私钥 *.pub #公钥
尽量选择rsa/dsa加密算法
ssh v1 兼容 rsa
ssh v2 兼容 rsa dsa
加密长度:
256倍数
512/768/1024/2048/4096 #加密长度越长越安全,解密越慢
服务器端:/etc/ssh
客户端配置文件: 配置自己作为客户端时的选项ssh_config
服务器端配置文件: 配置自己作为服务器端时的选项sshd_config
ssh原理及加密传输的更多相关文章
- ssh原理图解
SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式.在此之前,远程登录一般常用FTP和Telnet,但是它们以明文的形式在网络中传输账 ...
- 图解SSH原理及两种登录方法
SSH(Secure Shell)是一套协议标准,可以用来实现两台机器之间的安全登录以及安全的数据传送,其保证数据安全的原理是非对称加密. 传统的对称加密使用的是一套秘钥,数据的加密以及解密用的都是这 ...
- [转]SSH 原理和基本使用:ssh 安全配置 以及ssh key 认证登录
一.什么是 SSH ? SSH全称(Secure SHell)是一种网络协议,顾名思义就是非常安全的shell,主要用于计算机间加密传输.早期,互联网通信都是基于明文通信,一旦被截获,内容就暴露无遗. ...
- 图解SSH原理
1. 初见SSH SSH是一种协议标准,其目的是实现安全远程登录以及其它安全网络服务. SSH仅仅是一协议标准,其具体的实现有很多,既有开源实现的OpenSSH,也有商业实现方案.使用范围最广泛的当然 ...
- (转)图解SSH原理
图解SSH原理 原文:https://www.jianshu.com/p/33461b619d53 http://blog.51cto.com/forlinux/1352900---------SSH ...
- 【SSH原理】ssh用法及命令
什么是SSH? Secure Shell 安全外壳协议 简单说,SSH是一种网络协议,用于 计算机之间的加密登录.如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登 ...
- SSH原理和使用
ssh 是什么 在 linux 上工作,ssh 是必须要了解的技术方法.它可以建立起多台主机之间的安全的加密传输,以进行远程的访问.操控.传输数据. SSH 為 Secure Shell 的縮寫.為建 ...
- SSH原理讲解与实践
一.简介 SSH全名Secure Socket Shell,安全外壳传输协议.专为远程登录会话和其他网络服务提供安全性的协议 二.加密算法 要了解SSH的原理,就要先知道目前主流的俩种加密算法 2.1 ...
- Linux网络篇,ssh原理及应用
一.对称加密与非对称加密 对称加密: 加密和解密的秘钥使用的是同一个. 非对称加密: 非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥:简称公钥和私钥 对称加密 对称加密的密 ...
随机推荐
- 【Oracle】转:通过案例学调优之--Oracle Time Model(时间模型)
转自:http://blog.51cto.com/tiany/1596012 通过案例学调优之--Oracle Time Model(时间模型) 数据库时间 优化不仅仅是缩短等待时间.优化旨在缩短最终 ...
- mysql锁表问题
查看当前所有的进程信息: show full processlist; 查看当前所有的事务 select * from information_schema.innodb_trx; 查看当前出现的锁 ...
- [Usaco2016 Dec]Counting Haybales
原题链接https://www.lydsy.com/JudgeOnline/problem.php?id=4747 先将原数组排序,然后二分查找即可.时间复杂度\(O((N+Q)logN)\). #i ...
- mysql InnoDB架构
1.InnoDB的磁盘结构 1)系统表空间 2)用户表空间 3)rodolog 文件组 4)磁盘文件逻辑结构 文件->段->区->页->行 InnoDB对数据的存取是以页为单位 ...
- 前端知识(一)02 初识 Node.js-谷粒学院
目录 初识Node.js 一.Node.js的概念 1.JavaScript引擎 2.什么是Node.js 3.Node.js有什么用 二.BFF 1.BFF 解决什么问题 2.BFF是什么 三.安装 ...
- django url别名和反向解析 命名空间
url别名和反向解析 我们平时写的url名字都是死的,如果项目过大,需要项目中某个文件名改动一下,那么改动起来就不是一般的麻烦了,所以我们就在定义的时候给url起一个别名,以后不管哪个文件中运用都是用 ...
- OO第三次总结博客
规格化设计的发展历史 (因为很难寻找,所以参考了下别的同学的调研结果) 规格化设计与结构化.模块化设计密不可分,伴随着OOP语言的发展,规格化设计思想逐渐形成体系,慢慢完善. 20世纪60年代,程序的 ...
- Cognos软件介绍文档(原创)
1. Cognos简介 Cognos是世界上最大的业务智能软件制造商,它能够帮助用户提取公司数据,然后分析并汇总得出报告.Cognos有许多产品,但最为著名的还是它的PowerPlay联机分析处理(o ...
- Micro Frontends 微前端
Micro Frontends https://martinfowler.com/articles/micro-frontends.html Integration approaches Server ...
- python 9学习 高级特性
高级特性 掌握了Python的数据类型. 语句 和函数,基本上就可以编写出很多有用的程序了. 比如构造一个1, 3, 5, 7, ..., 99的列表,可以通过循环实现: L = [] n ...