Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SSH tunnel connections #108

Closed
amacneil opened this issue Apr 28, 2021 · 7 comments
Closed

SSH tunnel connections #108

amacneil opened this issue Apr 28, 2021 · 7 comments
Labels
feature A new feature or idea

Comments

@amacneil
Copy link
Contributor

amacneil commented Apr 28, 2021

Similar to how vscode can work with a remote host over SSH, it would be nice if we supported connecting to ROS over an SSH tunnel. This would avoid many networking issues that come from all the various TCP connections ROS opens, and be more secure if robots are exposed on a public network.

It would also mean that rosbridge (websocket) connections are no longer necessary for desktop users. However, we may wish to keep websocket support for browser users.

@amacneil amacneil added the feature A new feature or idea label Apr 28, 2021
@pschafhalter
Copy link

Hi, we would find this feature very valuable for our use case with Pylot, an open-source AV platform.

Typically, we deploy Pylot inside a docker container on a beefy remote machine. We SSH into the container to run Pylot. While we currently have a Pygame-based visualization that renders over X-forwarding, we're currently working on moving our visualization stack to Foxglove in the following PR: erdos-project/pylot#201.

For now, we expect to use rosbridge and SSH port forwarding to visualize with Foxglove; however, connecting from Foxglove directly via SSH would be smoother.

Thanks for making this awesome software!

CC @ICGog @storm-light

@jtbandes
Copy link
Member

jtbandes commented Aug 2, 2021

Hi @pschafhalter, thanks for sharing your use case, the project looks very cool!

Is it true that Pylot doesn't use ROS, but you're adding ROS publishers just for the Foxglove Studio integration? Could you share some more about how the existing data logging and IPC works? This ticket was still assuming a ROS system, but I'd be curious to learn more about non-ROS use cases (see also: https://github.com/foxglove/studio/discussions/1268).

@pschafhalter
Copy link

Hi @jtbandes,

Yes, that's true. Our current IPC stack uses TCP and Rust serialization libraries. It's currently not based on a standard format and relies on type checking for deserialization, but this is something we might look into in the future.

@XDGFX
Copy link

XDGFX commented Aug 12, 2021

This could be very useful for me also.

Currently it would be a nice alternative to running the ros bridge node, but down the line we're planning on having many robots on various networks across the country, connected with a mesh network (likely https://github.com/slackhq/nebula). It would be easy to ssh into a particular robot, which would be headless, for debugging and checking.

@github-actions
Copy link

github-actions bot commented Feb 9, 2022

This issue has been marked as stale because there has been no activity in the past 6 months. Please add a comment to keep it open.

@amacneil
Copy link
Contributor Author

amacneil commented Feb 9, 2022

@pschafhalter FYI you should check out our new Foxglove websocket protocol (better suited for non-ROS middlewares).

While this feature request is easily worked around by tunneling the ws-protocol over SSH, it would be nice for us to eventually support direct SSH connections. So let's keep this ticket open.

@pschafhalter
Copy link

Great, we will keep an eye on that! That might be a better solution for us as well, as let's us avoid depending on ROS.

@amacneil amacneil transferred this issue from another repository Dec 16, 2022
@foxglove foxglove locked and limited conversation to collaborators Dec 16, 2022
@amacneil amacneil converted this issue into discussion #122 Dec 16, 2022

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
feature A new feature or idea
Development

No branches or pull requests

4 participants