复杂的反向代理

复杂的反向代理

我正在寻找一句俏皮话。要点如下:

  1. 我有一个 Ubuntu 实例,其 SSH 暴露在互联网上
  2. 只有拥有密钥的单个用户才能从互联网进行 SSH。
  3. 该单个用户没有任何权限,因此一旦进入,我必须切换用户
  4. 切换用户后,我可以为端口 123 创建反向代理

我似乎无法弄清楚如何将这些步骤压缩成一行,以便我可以从外部机器访问 Ubuntu 实例上的端口 123。

答案1

设置您的服务以绑定到 ubuntu 框上的 localhost:123。

/etc/ssh/sshd_config最后将其添加到你的 ubuntu 框中:

Match User lockeddown X11Forwarding no AllowAgentForwarding no PasswordAuthentication no AllowTcpForwarding yes PermitOpen 127.0.0.1:123 ForceCommand /bin/false

这将允许您的用户lockeddown连接到您的 ubuntu 框并仅转发端口 123:

ssh -N -L 123:localhost:123 lockeddown@your-ubuntu-box

然后您可以通过“localhost:123”访问它:

telnet localhost 123

答案2

我将使用类似以下的方式进行本地端口转发:

ssh -L 123:localhost:123 user@remote_machine

然后在你的机器上你将能够使用 localhost:123 访问它

相关内容