通过 SSH v2 协议的 java RMI
如何通过 SSH v2 协议实现 java RMI。这可能吗?如果不可能,那么我可以使用原始套接字通信来实现这一点吗?我只是想通过 RMI 传输我的数据,但它应该加密为 SSH v2 数据包。
How to implement java RMI over SSH v2 protocol.Is this possible?.If its not possible then can i achieve this using raw socket communication?.Simply i want to transmit my data via RMI but it should be encrypted as SSH v2 packets .
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您是否检查过将 RMI 与 SSL 结合使用? 新的 RMI java.net 上的文章也可能值得一读。(编辑:OP 已经更新了他的问题,实际上正在寻找通过 SSH 的 RMI,所以我正在更新我的答案。
我从未尝试过,但我想你应该能够通过 SSH 建立 RMI 隧道 我不明白为什么不能创建 SSH 隧道,
javaranch 上有一篇关于此的文章,Java RMI 的 SSH 隧道第 I 部分 和 第二部分,提供了更多详细信息。
说实话,我不确定为什么您应该更喜欢 SSH 而不是 SSL (也具有很强的身份验证))。
Did you check Using RMI with SSL? The The New RMI article on java.net might be worth the read too.(EDIT: The OP has updated his question and is actually looking for RMI over SSH so I'm updating my answer.
I never tried it but I guess you should be able to tunnel RMI through SSH. I don't see why it shouldn't be possible. Create a SSH tunnel and there you go.
There is a two parts article on javaranch about this, SSH Tunneling for Java RMI Part-I and Part II, that provides more details.
To be honest, I'm not sure why you should prefer SSH over SSL (which has strong authentication too)).
使用这样的 API http://www.jcraft.com/jsch/ 打开 ssh隧道(从本地计算机到远程的端口转发,在 RMI 服务正在侦听的端口上),然后配置 RMI 客户端以连接到本地(转发的)端口。
Use an API like this http://www.jcraft.com/jsch/ to open an ssh tunnel (port forwarding from local machine to remote, on the port where the RMI service is listening), then configure your RMI client to connect to the local (forwarded) port.
只需通过端口转发打开一些 ssh 隧道,您就可以完全透明地完成此操作。
Just open up some ssh tunnels via port forwarding and you can do this completely transparently.