SSH可用于加密SSL / TLS等应用程序之间的通信吗?

时间:2015-12-28 10:22:36

标签: security ssl ssh

我看到很多关于SSL / TLS和SSH之间差异的问题和帖子,如

  1. Difference between SSH and SSL, especially in terms of “SFTP” vs. “FTP over SSL”
  2. SSH vs SSL
  3. What is the difference between SSL vs SSH? Which is more secure?
  4. 我有了这个概念。它们都提供加密,但不用于相同的事情。 This post说,这主要是一个历史性的决定。目前,我正在使用TLS来保护我的服务器和客户端应用程序(OpenSSL和套接字)之间的连接。我很好奇在使用SSL的情况下使用SSH在技术上是否可行和合理?有任何缺点或障碍吗?

    注意:我知道SSH也是一个应用程序,可用于远程连接到另一台PC。但是我对应用程序不感兴趣,只是协议。

1 个答案:

答案 0 :(得分:1)

是的,您可以将SSH用于相同目的。

虽然TLS(SSL)更常用于任务,但有一些库可以创建TLS加密的套接字,包括服务器端和客户端,用于实现自己的协议。

我不确定是否有库可以轻松创建SSH加密的套接字(没有所有其他SSH功能,如身份验证)。我假设一些SSH库可以做到这一点。

虽然我认为在TLS上使用SSH没有任何优势。对于TLS,你会发现更多的例子。

comment by @Jakuje的反应:

使用SSH,您仍需要验证主机密钥,这与验证TLS证书等效。虽然有完善的分发,签署,撤销等证书方式,但主机密钥没有等价物。主机密钥就像一个自签名证书。

因此,您必须将预期的主机密钥硬编码到您的应用程序中。如果您需要更改服务器端私钥(因为您丢失了它或它被泄露),客户端将停止工作。