我仍在尝试了解隧道的工作原理,但我在 AWS 上启用了 SSH 隧道来查看一些用于监控机器上运行的应用程序的 Web 应用程序,我想知道我是否可以在隧道会话配置文件上完成我的正常工作
我已经经常通过 SSH 进入机器进行工作,并且我创建了另一个 Putty 配置文件会话,它与原始 Putty 非常相似,但它用于隧道转发。我遵循了 AWS 的此处的说明这很简单。不同之处在于新隧道显然启用了动态分析。我是否应该在这个启用隧道的会话配置文件上完成所有正常工作?或者我应该将它们分成 1 个会话用于正常工作,另一个会话用于隧道转发?
答案1
“隧道启用”会话与“普通” ssh 会话在工作上没有任何区别。唯一的区别是它还带有隧道。
通常情况下,-f -N
添加选项以将进程分叉到后台,而不是对目标执行远程操作。这可能有助于让您保持隧道畅通,而不必担心意外exit
或其他因素。
答案2
不,它通常不需要不同的配置文件,您可以在相同的会话和配置文件上建立隧道并在远程命令行上工作。
但是,通过特殊配置,可以通过 sshd/authorized keys 配置以多种方式限制隧道和 cli 的使用:
监听不同端口的 SSH 服务器实例:
- 隧道仅可通过特定的 TCP 端口实现
- 仅可通过特定的 TCP 端口进行终端访问
使用authorized_keys的SSH访问限制:
- 只有使用特定的 RSA 密钥登录才能建立隧道
- 终端只能使用特定的 RSA 密钥才能登录
使用用户/组匹配的 SSH 访问限制:
- 仅允许特定用户帐户进行隧道传输
- 终端仅允许特定用户帐户
虽然上述方法可行,但大多数情况下并非如此实现,当用户拥有 CLI 访问权限时,还可以通过实现模拟隧道协议(例如通过普通 ssh CLI 会话传输数据)来解决隧道限制。这不需要任何特殊功能,大多数服务器上可用的标准二进制文件就足够了。
您可能还想看看这个有关 SSH 协议通道的答案:https://unix.stackexchange.com/a/86162/27083