SSH 和 SSH 隧道之间有什么区别

SSH 和 SSH 隧道之间有什么区别

正如标题所说,我不太明白它们之间的区别。例如,如果我通过不使用隧道的 SSH 连接到特定服务器,我得到的 shell 与使用隧道得到的 shell 相同。

答案1

如果您将隧道添加到 SSH 会话中,则会通过相同的加密连接为隧道创建额外的数据流。您还可以创建多个隧道,或者不启动交互式会话(使用参数-N)。所以,基本上,没有真正的区别,只是使用加密连接的方法不同。

答案2

SSH 实际上是一种通用的安全通信机制,它可以通过不安全的底层通道传输任意数据。默认情况下,这些数据是 shell 会话(即,您的本地终端连接到远程系统上运行的 shell),但可以传输不同类型的数据。

其中一种类型是流套接字连接(例如 TCP 连接),称为隧道。SSH 客户端侦听 TCP 端口并通过安全通道传输与该端口建立的任何连接,并从远程系统退出连接。

默认情况下,当您设置隧道时,您仍会获得一个 shell,即 SSH 客户端通过同一连接传输两种类型的数据(隧道和 shell)。您可以使用参数禁用 shell -N

相关内容