SSL和SSH和OpenSSH,OpenSSL有什么区别

ssl是通信链路的附加层。能够包含不少协议。https, ftps, .....shell

ssh只是加密的shell,最初是用来替代telnet的。经过port forward,也可让其余协议经过ssh的隧道而起到加密的效果。浏览器

SSL是一种国际标准的加密及身份认证通讯协议,您用的浏览器就支持此协议。SSL(Secure Sockets Layer)最初是由美国Netscape公司研究出来的,后来成为了Internet网上安全通信与交易的标准。SSL协议使用通信双方的客户证书以及CA根证书,容许客户/服务器应用以一种不能被偷听的方式通信,在通信双方间创建起了一条安全的、可信任的通信通道。它具有如下基本特征:信息保密性、信息完整性、相互鉴定。 主要用于提升应用程序之间数据的安全系数。SSL协议的整个概念能够被总结为:一个保证任何安装了安全套接字的客户和服务器间事务安全的协议,它涉及全部TC/IP应用程序。

SSH的英文全称是Secure SHell。经过使用SSH,你能够把全部传输的数据进行加密,这样“中间人”这种攻击方式就不可能实现了,并且也可以防止DNS和IP欺骗。还有一个额外的好处就是传输的数据是通过压缩的,因此能够加快传输的速度。SSH有不少功能,它既能够代替telnet,又能够为ftp、pop、甚至ppp提供一个安全的“通道”。SSH是由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1.x和2.x。用SSH 2.x的客户程序是不能链接到SSH 1.x的服务程序上去的。OpenSSH 2.x同时支持SSH 1.x和2.x。SSH的安全验证是如何工做的从客户端来看,SSH提供两种级别的安全验证。第一种级别(基于口令的安全验证)只要你知道本身账号和口令,就能够登陆到远程主机。全部传输的数据都会被加密,可是不能保证你正在链接的服务器就是你想链接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。第二种级别(基于密匙的安全验证)须要依靠密匙,也就是你必须为本身建立一对密匙,并把公用密匙放在须要访问的服务器上。若是你要链接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求以后,先在你在该服务器的家目录下寻找你的公用密匙,而后把它和你发送过来的公用密匙进行比较。若是两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”以后就能够用你的私人密匙解密再把它发送给服务器。用这种方式,你必须知道本身密匙的口令。可是,与第一种级别相比,第二种级别不须要在网络上传送口令。第二种级别不只加密全部传送的数据,并且“中间人”这种攻击方式也是不可能的(由于他没有你的私人密匙)。可是整个登陆的过程可能须要10秒。安全

OpenSSL------一个C语言函数库,是对SSL协议的实现。服务器

OpenSSH-----是对SSH协议的实现。网络

ssh 利用 openssl 提供的库。openssl 中也有个叫作 openssl 的工具,是 openssl 中的库的命令行接口。ssh

从编译依赖上看:函数

openssh依赖于openssl,没有openssl的话openssh就编译不过去,也运行不了。工具

HTTPS可使用TLS或者SSL协议,而openssl是TLS、SSL协议的开源实现,提供开发库和命令行程序。openssl很优秀,因此不少涉及到数据加密、传输加密的地方都会使用openssl的库来作。
能够理解成全部的HTTPS都使用了openssl。以root身份执行命令:grep -l 'libssl.*deleted' /proc/*/maps | tr -cd 0-9\\n | xargs -r ps u,能够看到哪些进程加载了老版本的openssl库。加密

相关文章
相关标签/搜索