【问题标题】:Need help in java Port forwarding in socket (AWS CISCO router with AWS Server)在套接字中需要 Java 端口转发的帮助(AWS CISCO 路由器与 AWS 服务器)
【发布时间】:2016-06-10 14:05:46
【问题描述】:

我有一个 aws 服务器(10.10.10.1),它将充当 CISCO 路由器,并将端口转发到另一个 aws 服务器(10.10. 10.2)。现在我正在使用以下命令在 ssh 中连接服务器。

ssh -i server.pem ec2-user@10.10.10.1 -p 2222

然后它将连接到服务器 10.10.10.2。

现在我需要在那里运行一个套接字程序,并且我需要一个客户端(它将在本地运行)程序来连接它。

我尝试了很多方法,但我无法连接。

我是socket编程新手,请帮我整理一下。

答案结果如下:

我已尝试通过 SSH 隧道进行连接,该隧道正在为路由器工作,但它不会连接到 aws 服务器

请看我的隧道命令,

ssh -i server.pem -L 9080:10.10.10.2:8090 ec2-user@10.10.10.1

我还在 10.10.10.2 中运行了一个 Socket 服务器代码,并在我的本地机器上运行了客户端代码。

请帮我整理一下

【问题讨论】:

标签: java sockets amazon-ec2 portforwarding cisco


【解决方案1】:

这是你的布局

DEV ---ssh---> PIVOT ---ssh---> SERVER

有一个称为端口转发的 SSH 功能,它允许用户在连接的一端打开一个侦听(服务器)套接字(-L 表示本地,-R 表示远程)并将所有套接字读取和写入代理到另一台可访问的机器从那开始。

由于PIVOT 可以连接到SERVER,您只需要在DEV 机器上安装一个代理:

me@dev$ ssh -L 9005:server:80 pivot

然后当您在开发机器上与localhost:9005 交谈时,您实际上是通过SSH 通道与server:80 交谈。

注意:如果主机 A 不能直接连接到服务器,而你用它来 ssh 到可以连接的 B,你实际上必须设置两个转发,一个用于每个 SSH 网桥。

【讨论】:

  • 它要求一些密码来设置隧道。我正在使用 pem 密钥进行连接。我可以在 -i 评论中给出 pem 密钥吗?我还需要添加两个服务器的 pem 文件吗?
  • 嗨,我已经尝试了 SSH 隧道,我将连接到终端服务器。当我运行套接字代码时,客户端正在连接到用户,但是服务器没有响应
  • 我无法理解反对票。不能在命令行输入正确的参数不是我的错。
  • 请更新答案。我错误地降级,我无法再次升级。它要求编辑答案
  • 好的。看看注释是否有帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-13
  • 1970-01-01
  • 1970-01-01
  • 2015-01-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多