SSH和SSL之间的区别,特别是在“SFTP”和“基于SSL的FTP”

除了SSH提供的增强authentication选项之外,SSH和SSL协议的基本工作还有什么区别吗?

我问,因为我们可以使用SFTP或FTP over SSL,都需要authentication。

SSH和SSL是类似的协议,它们都使用大部分相同的encryption原语,所以它们都是相互安全的。 SSH的一个优点是使用密钥对authentication实际上很容易,并且直接embedded到协议中。

对于SSL来说,涉及到CA证书和其他事情有点麻烦。 在您拥有PKI之后,您还需要configuration您的服务以使用PKI进行身份validation,而不是使用其内部密码数据库; 这是一些服务上的噩梦,也是别人的一块蛋糕。 这也意味着你需要去签署所有用户密钥的麻烦,以便他们可以login。

绝大多数有能力的用户可以立即使用SSH密钥,但是需要更长的时间才能使用SSL密钥(当我第一次发现它时,额外的CA证书和密钥证书让我感到困惑)。

select什么是可支持的。 对于Unix用户来说,SSH + SFTP是非常好的,但是如果你的用户是基于Windows的,而且对Internet Exploiter以外的任何东西都毫无头绪,那么FTP over SSL可能更容易实现(你不介意冒用户select不安全的密码的风险)。

SSH和SSL有什么区别,我们为什么要关心?

SSL代表“安全套接字层” 。 我们关心,因为它使浏览器以安全的密码方式传输数据到networking服务器和从networking服务器传输数据,使第三方间谍难以监控所有的互联网stream量。

SSH代表“Secure Shell”。 我们关心,因为它使联网的计算机1能够访问联网的计算机2上的shell。用户可以有一定程度的信心,侦听不安全通道的间谍不能解密在联网的计算机之间发送的数据。

SSL和SSH都与提供一个系统来通过不安全的通道encryption和解密数据有关。

当浏览器访问以“https://”开头的URL时,浏览器会通过SSL连接说出HTTP。

启用S​​SL的Web服务器(例如Apache HTTP Server )可以configuration为使用SSL成为“安全的Web服务器”。 由安全的Web服务器提供的网站将导致用户通过“https://”协议而不是“http://”访问URL。 使用https协议,用户可以有一定的信心,监控互联网频道的第三方间谍只会收到encryption的内容。

SSL是可以在OSI模型的第6层(表示层)中实现的协议 。

SSH有自己独立于SSL的传输协议,所以这意味着SSH不会在后台使用SSL。

密码学上,安全壳和安全套接字层都同样安全。

SSLterminal代理可以处理传入的SSL连接,解密SSL并将未encryption的请求传递给其他服务器。

SSL允许您通过签名证书使用PKI(公钥基础结构) 。 使用SSH,您必须通过另一种协议(如ftp或信鸽)手动交换密钥指纹。

主要区别在于SSL允许您使用PKI(通过签名证书)。 在SSH中,您必须带外交换密钥指纹。 但是,无论如何,你可能想要没有公钥基础设施,在这种情况下,这是一个平局。

有一个很好的解释,请参阅http://www.snailbook.com/faq/ssl.auto.html

密码方面,它们同样安全(鉴于使用相同的密码)。 除此之外,他们是完全不同的协议…

首先,TLS服务器authentication是可选的,因为它的协议支持完全匿名服务器authentication。 在SSH中这是强制性的。

TLS使用X.509证书进行客户端和服务器身份validation,这需要某种types的PKI。 SSH在这一点上并不缩放,但提供了更多的身份validation方法:密码,公钥等。

另一个区别是,SSH允许多个连接,并支持远程程序执行,terminalpipe理,TCP隧道等。