主机上无需帐户即可进行端口转发

主机上无需帐户即可进行端口转发

网络结构

我想设置一个简单的方法,通过 VNC 从机器 B 访问机器 A。两台机器都位于 NAT 后面。我有一个带有 ddns 设置的树莓派。

A -> NAT1 -> rasp <- NAT2 <- B

通常的解决方案如下:

  • B 侧通过 ssh 连接到锉刀当地的端口转发并开始vncviewer监听本地端口
  • A 侧通过 ssh 连接到锉刀偏僻的端口转发并x11vnc在本地端口上启动

还可以通过在反向模式下使用 vnc 来反转转发。

问题

在这种情况下,A 方没有服务器凭据

我正在考虑的解决方案是创建与 ssh 相同的端口转发,但没有凭据(和加密),并让 vnc 使用 SSL 进行加密。

对于这样的解决方案,当 B 方连接到 rasp 并创建 ssh 隧道时,它还可以启动一个等待下一个连接的服务器并为客户端 A 设置转发,而客户端 A 可以简单地使用socat.

我的想法可行吗?还有其他软件可以创建无需身份验证的 Prot 转发吗?

任何人都无法更改 NAT 的配置方式

答案1

因此,假设 NAT1 确实有一个公共 IP,x11vnc从 A 上的本地端口开始,将 NAT1 配置为在 NAT1 结束的任何公共 IP 上端口转发此端口(可能到其他端口),让 B 执行跳转主机样式转发sshfrom通过 raspi 连接到 NAT1 端口。

这样做的缺点是其他人也可以连接到 NAT1 上的该端口,因此基本上每个人都可以通过 控制 A x11vnc,除非您使用显示管理器的登录屏幕启动它。

所以这是一个非常不安全的设置。如果您的整个设置位于内部网络中,则这不适用(但是,没有真正的理由使用 NAT)。

或者,如果 B 或 rasppi 可以存储凭据,您可以通过 NAT1 从 A 端口转发 ssh 端口。然后你可以使用 ssh 通过 rasppi 从 B 转发到 A(或者甚至直接从 B 到 A)。

同样,其他人现在都可以访问转发的 ssh 端口,但至少这可以使用凭据,并且您可以保护它(例如,使用证书并关闭密码登录)。

相关内容