站长统计
openssh与openssl是什么关系
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。⽤SSH2.x的客户程序是不能连接到SSH 1.x的服务程序上去的。OpenSSH 2.x同时⽀持SSH1.x和2.x。SSH的安全验证是如何⼯作的从客户端来看,SSH提供两种级别的安全验证。第⼀种级别(基于⼝令的安全验
证)只要你知道⾃⼰帐号和⼝令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间⼈”这种⽅式的攻击。第⼆种级别(基于密匙的安全验证)需要依靠密匙,也就是你必须为⾃⼰创建⼀对密匙,并把公⽤密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求⽤你的密匙进⾏安全验证。服务器收到请求之后,先在你在该服务器的家⽬录下寻你的公⽤密匙,然后把它和你发送过来的公⽤密匙进⾏⽐较。如果两个密匙⼀致,服务器就⽤公⽤密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以⽤你的私⼈密匙解密再把它发送给服务器。⽤这种⽅式,你必须知道⾃⼰密匙的⼝令。但是,与第⼀种级别相⽐,第⼆种级别不需要在⽹络上传送⼝令。第⼆种级别不仅加密所有传送的数据,⽽且“中间⼈”这种攻击⽅式也是不可能的(因为他没有你的私⼈密匙)。但是整个登录的过程可能需要10秒。
OpenSSL------⼀个C语⾔函数库,是对SSL协议的实现。
OpenSSH-----是对SSH协议的实现。
ssl协议全称
ssh 利⽤ openssl 提供的库。openssl 中也有个叫做 openssl 的⼯具,是 openssl 中的库的命令⾏接⼝。
从编译依赖上看:
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库。
不同版本的openssh对openssl的版本有要求............