我看到很多关于SSL / TLS和SSH之间差异的问题和帖子,如
我有了这个概念。它们都提供加密,但不用于相同的事情。 This post说,这主要是一个历史性的决定。目前,我正在使用TLS来保护我的服务器和客户端应用程序(OpenSSL和套接字)之间的连接。我很好奇在使用SSL的情况下使用SSH在技术上是否可行和合理?有任何缺点或障碍吗?
注意:我知道SSH也是一个应用程序,可用于远程连接到另一台PC。但是我对应用程序不感兴趣,只是协议。
答案 0 :(得分:1)
是的,您可以将SSH用于相同目的。
虽然TLS(SSL)更常用于任务,但有一些库可以创建TLS加密的套接字,包括服务器端和客户端,用于实现自己的协议。
我不确定是否有库可以轻松创建SSH加密的套接字(没有所有其他SSH功能,如身份验证)。我假设一些SSH库可以做到这一点。
虽然我认为在TLS上使用SSH没有任何优势。对于TLS,你会发现更多的例子。
对comment by @Jakuje的反应:
使用SSH,您仍需要验证主机密钥,这与验证TLS证书等效。虽然有完善的分发,签署,撤销等证书方式,但主机密钥没有等价物。主机密钥就像一个自签名证书。
因此,您必须将预期的主机密钥硬编码到您的应用程序中。如果您需要更改服务器端私钥(因为您丢失了它或它被泄露),客户端将停止工作。