Skip to content
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

Mosh Everywhere #1595

Open
tomberek opened this issue Jan 15, 2018 · 18 comments
Open

Mosh Everywhere #1595

tomberek opened this issue Jan 15, 2018 · 18 comments
Labels
c-at Internal Customer Reference feature-request Used for new features in Teleport, improvements to current should be #enhancements

Comments

@tomberek
Copy link

tomberek commented Jan 15, 2018

This is to start discussion about implementing the use of mosh throughout teleport.
Pros:

  • reconnections
  • latency
  • embedded systems
  • roaming

Cons:

  • complexity
  • dependencies
@klizhentas
Copy link
Contributor

I think SSP is a really smart protocol and mosh solves an important problem, but for exactly the cons you have mentioned, this is out of scope of teleport - at least for now.

I'm keeping the door (and issue) open, as I think at some point teleport should promote innovative solutions for the problems folks are facing when working with remote terminals. So folks who care, use this ticket to post your thoughts and feedback here, we'll use it as a reference.

@klizhentas klizhentas added the feature-request Used for new features in Teleport, improvements to current should be #enhancements label Jan 18, 2018
@remingtonc
Copy link

Huge fan. Hate it when I'm in transit with low-bandwidth or my VPN decides it's time to reconnect and my SSH sessions break. Mosh is absolutely seamless in these scenarios. No idea on the level of difficulty, unfortunately.

@dadicool
Copy link

Just faced a situation where mosh + teleport would have made my life much less miserable: I've been trying to connect to k8s pod over a vpn connection over 4G while traveling on a fast moving train. Needless to say, I couldn't really fix the problem. I would love to see this implemented!

@Curtingham
Copy link

Curtingham commented Oct 3, 2019

Just want to throw in a +1 for this - I use mosh for every host that I connect to for shell access. I'm looking to improve my security, and Teleport has been the most enticing solution I have found. Mosh compatibility was the very first thing I looked up after reading the Quick Start and Architecture guides - This looks like a no-brainer solution to security concerns about SSH (mainly for me, it's the widespread use of SSH keys), but the lack of mosh support has me seriously torn about whether or not I want to implement Teleport.

All in all though, a big thanks to everyone involved for developing what looks like a truly awesome SSH management solution!

@shaneshort
Copy link

I would also love to see mosh support. I'm very often on poor connections (loss/latency) and it's a life saver for me. I also love the statelessness of it, having your WAN link drop and the session just blissfully resume is amazing.

@keenan-v1
Copy link

Without support, is there a mosh workaround that people have found by chance?

Also +1 for mosh support from 2021 :) 👍

@vikashch
Copy link

vikashch commented Dec 8, 2021

+1 for mosh support.

@eggbean
Copy link

eggbean commented Jan 2, 2022

Came here looking to find out if Teleport supported mosh. Very much looking forward to it being added, as it's something I have been using for years and I've come to depend on it when working remotely, just to connect to my bastion host. I'll probably be using Teleport mainly for server webpage access for the time being.

@jurajmasar
Copy link

+1 🙏

@james-lawrence
Copy link

@klizhentas sorry for the bump but teleport might want to consider the quic protocol for transport vs mosh's ssp. It doesn't come with everything but in theory it'd help with the poor connection, roaming and latency issues and can be done fairly transparently and should be fairly trivial to seamlessly upgrade servers.

@BinaryPaean
Copy link

BinaryPaean commented May 17, 2022

+1 🙏 Would love to have both "tsh ssh X" and "tsh mosh X" do what you'd expect.

@BhagyaBakshi BhagyaBakshi added the c-at Internal Customer Reference label Aug 31, 2022
@cwegener
Copy link

I've been reading through comments and most people seem to be highlighting the "slow or unreliable carrier" scenario.

What about the speed of light scenario?

Is nobody using mosh for the local echo feature when the photons need to travel a long distance (tens of thousands of kilometers)?

@eggbean
Copy link

eggbean commented May 17, 2023

@cwegener A couple of years ago there was a digital nomad on reddit saying that it was very difficult to access his servers in the USA from Thailand, so I told him about mosh and he thought it was magic.

@shaneshort
Copy link

.. I opened this page to check on it not an hour ago and now there's activity!

I agree, some kind of session resumption and local echo like mosh makes long distance SSH actually bearable and would be an excellent addition. Either implementing the features mosh needs in order to orchestrate the udp connection, or implementing it inside teleport would be nice.

@cwegener
Copy link

I think in summary there are few main use cases then:

  1. Regular normal SSH duties from a reliable and fast last mile hookup, involving SSH hosts that are "far away" (@eggbean's Digital Nomad is one example. But other "far away" scenarios do exist that don't involve digital nomads)
  2. Occasional duties where the last mile hookup (on either side) has poor performance qualities (high jitter, high packet loss), e.g. urgent SSH access while being on-call using mobile internet.
  3. (Somewhat reverse of 3) Urgent or not so urgent SSH access while being on a high quality local last mile hookup but the remote SSH host is on either a poor quality last mile hookup or an unreliable last mile hookup. E.g. IoT devices

I think all three above uses cases can also be combinations of each other.

The two main features from mosh that are relevant to these use cases are:

  • Local Text Echo
  • Seamless Session Re-establishment on disconnect

I have no idea which one of these use cases would be the most valuable for the wider Teleport community to implement.

In general though, I think that think in terms of the two distinct features and how they relate to use cases would be the best in order to reinvigorate this discussion.

@alexlyee
Copy link

alexlyee commented Sep 5, 2023

+1 🙏 this would make working on infra with a spotty connection so much better

@nilx
Copy link

nilx commented Nov 6, 2023

+1 here

  • my everyday job involves working remotely on machines located on the other side of the earth. not a digital nomad, just working in global-scale company
  • on weekend commutes I'm in a bullet train and sometimes want to make good use of the couple of hours over 5G; sometime I need to, because on-call duty matters

in both situations above, mosh is wonderful

@nilx
Copy link

nilx commented Dec 19, 2023

What would it take to add mosh+teleport support?

  • does it imply support for mosh protocol in teleport and support for teleport transport in mosh?
  • would it fit in the current teleport architecture, as "just another protocol", or does it require design evolution?
  • how much work would it take, roughly?

ping @achernya @keithw @cgull for https://github.com/mobile-shell/mosh

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c-at Internal Customer Reference feature-request Used for new features in Teleport, improvements to current should be #enhancements
Projects
None yet
Development

No branches or pull requests