在关键cloudfoundry上设置SSH隧道以进行远程调试

时间:2015-03-12 01:42:09

标签: cloudfoundry

有没有人知道为CloudFoundry设置SSH隧道的步骤?我想在云上进行远程调试,但是在防火墙后面被阻止了。因此需要为此设置SSH隧道。

1 个答案:

答案 0 :(得分:2)

我在Cloud Foundry上写了a blog post on setting up remote debugging for Java apps。它涵盖了使用SSH隧道来解决防火墙/ NAT问题。

文章的答案是......

  1. 获取公共服务器。
  2. 安装SSHD。修改/etc/ssh/sshd_config,将GatewayPorts添加或设置为yes。重启SSHD。
  3. 在本地计算机上运行ssh -f -N -T -R 0.0.0.0:<public-port>:127.0.0.1:<debugger-port> <user>@<public-server-ip>(Windows用户可以使用cygwin或者可能使用Putty,尽管命令会有所不同)。这将指示SSH连接到远程主机,设置反向隧道并进入后台。反向隧道将在您指定的端口(即公共端口)上侦听公共服务器,并将流量转发到本地计算机上的调试器端口。您可以使用不同的端口号,但如果您只使用相同的端口,则最简单。
  4. 启动调试器并侦听您在SSH命令中使用的同一端口(即调试器端口)。
  5. 修改您的manifest.yml文件。将JAVA_OPTS设为-agentlib:jdwp=transport=dt_socket,address=<your-ip>:<your-port>
  6. 运行cf push。
  7. 如需更温和的演练,请参阅帖子。