gpt4 book ai didi

security - SSH 能否用于加密 SSL/TLS 等应用程序之间的通信?

转载 作者:太空宇宙 更新时间:2023-11-03 14:09:18 34 4
gpt4 key购买 nike

我看到很多关于 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?

我明白了。它们都提供加密,但用途不同。 This post说,这主要是一个历史决定。目前我正在使用 TLS 来保护我的服务器和客户端应用程序(OpenSSL 和套接字)之间的连接。我很好奇在使用 SSL 的地方使用 SSH 在技术上是否可行且合理?有什么缺点或障碍吗?

注意:我知道SSH也是一个应用程序,可以用来远程连接到另一台电脑。但我对应用程序不感兴趣,只对协议(protocol)感兴趣。

最佳答案

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

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

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

虽然我不认为使用 SSH 比使用 TLS 有任何优势。对于 TLS,您会找到更多示例。


comment by @Jakuje 的 react :

使用SSH,还需要验证host key,什么相当于验证TLS证书。虽然有完善的方法来分发、签署、撤销等...证书,但在标准 SSH 中没有主机 key 的等效方法。主机 key 就像一个自签名证书。

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

请注意,OpenSSH 对由证书签名的主机 key 具有专有支持。这更接近于 TLS,但 OpenSSH 证书没有将您的主机 key 链接到系统内置的受信任根证书的证书链(TLS 的典型方式)。因此,您必须手动批准证书,至少一次。

关于security - SSH 能否用于加密 SSL/TLS 等应用程序之间的通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34491681/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com