VanDyke Software Forums

VanDyke Software Forums (
-   Secure Shell (
-   -   Feature Request: Mosh support (

Joker 11-06-2015 10:54 PM

+1 for Mosh

I wanted to know if there is news about mosh support implementation, I started using lately MobaXterm myself until SecureCRT gets mosh support added.

bgagnon 11-07-2015 10:53 AM

Hi Joker,

See Maureen's (SecureCRT's product director) post in #10 above (or below, depending on how you view the forums). That is still the *latest info*. (And, in a later post, swatspyder posted how you might get mosh working presently in SecureCRT.)

I have "plus one"-ed the feature request. :)

Andomar 02-29-2016 07:20 AM

The method for Ubuntu posted by swatspyder works for MacOS too! You only have to set the language:

For a "NEW" session, follow these steps...
  1. Select Protocol "Local Shell".
  2. Create a session name such as "mailserver - FreeBSD - Mosh".
  3. Right click on the new session and select "Properties".
  4. In the left column, select the category "Logon Options" under "Connection".
  5. Check the box that says "Automate Logon".
  6. Delete "ogin:" and "assword:" from the list.
  7. Click the "Add" button.
  8. In the "Send" field, enter the following (modified how you need it):

    export LANG=en_US.UTF-8
  9. Click OK to save that send action.
  10. Click the "Add" button.
  11. In the "Send" field, enter the following (modified how you need it):

    /usr/local/bin/mosh --server="mosh-server new -l LANG=en_US.UTF-8" --ssh="ssh -p [port #]" [username]@[IP ADDR]
  12. Click OK to save that send action.

onlinejoe 10-02-2016 11:28 AM

Just a quick thank you
I was wanting MOSH support but found this thread and understand now that licensing is whats preventing it from being added.

Just a quick thank you and a +1 for MOSH request if the licensing every changes!

Thanks everyone!

radio1 12-20-2017 04:26 AM

+1 for Mosh support

I love SecureCRT but mosh is so handy that I started using the Cygwin terminal although they are light years apart.

berdmann 12-20-2017 10:07 AM

Hi radio1,

Thank you for the request! I can see how this functionality would be useful!

I have added this thread to a feature request in our product enhancement database to add MOSH support in SecureCRT. Should a future release of SecureCRT include this feature, notification will be posted here.

If you prefer direct email notification, contact and include "Feature Request - Forum Thread #11239" in the subject line.

mdella 01-31-2018 01:08 PM

Adding my support for request...
Well, was tracing this down and I think this is the "final" and authoritative thread here about MOSH.

Recognizing the limits on licensing, I still wanted to add my +1 as all the terminal features, etc of SecureCRT I enjoy and prefer however due to the types of networks I'm dealing with lately, MOSH has been our only option to deal with "run away display processes". Playing with screen and other systems just isn't quite giving us the flexability needed. And now that I personally am commuting on the "Silicon Valley" highway 17 bus, I'm almost resigned to that being the only way to work while commuting (and since its 2 hours a day, its quite a bit of time).

BTW, it appears that the GPL license has changed from that previously reported. I just looked at its using GPLv3+... Don't know if that makes a difference....


mosh 1.3.0 [build mosh 1.3.0]
Copyright 2012 Keith Winstein <>
License GPLv3+: GNU GPL version 3 or later <>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

So, experimenting with the suggested "local shell" above and the like. See what we turn up overall.

Followup #1: Further investigation of "how" the MOSH protocol works and the keyboard display unit as well as the network stack shows that this is more and more unlikely to be implemented in something like SecureCRT natively (although there might be a way to hook in the transport). Additionally, for licensing purposes you'd want the mosh body of work to be independent from SecureCRT as there are other restrictions in the licensing beyond "open source your code". Specifically, since this is dealing with security software, there are a number of "three letter word" customers out there are would NOT fit into the MOSH MIT version of licensing. No one in their right mind would want to implement something that then destroys a large portion of their customer base.

I'm still trying to noodle around if there is a way to insert this in the "stream" of traffic so that I can still use CRT (or in this case, SecureCRT) as my "terminal" and MOSH as the transport outside of the terminal. The "key exchange" portion of MOSH is too "command line'ish" for it to be a serious protocol IMHO. And since its a symmetric key being exchanged (over SSH of course, but still, it lives somewhere), there are a ton of other vetting issues that would need to happen there as well to be a "serious" security tool. But for what the protocol is meant to be... and how it was originally designed... thats still a highly useful piece that many of us have come to rely on for our "faulty" connections (glad the internet is improving over time... cough cough cough).

Followup #2: Turns out if I'm on a unix based machine (like ubuntu, MacOS, etc) I can sort of make this work. On a windows box so far I have been thwarted from using SSH to get the process started on the other side and send the session key back to me. I have however found that MobiXterm ( has a mosh client built into it. The SSH connection portion is rudimentary at best and the terminal emulation seems to have a lot to be desired, but since there is no way to get SecureCRT to use MOSH currently, this is probably the next best way to get MOSH working on your windows box inside of a native Windows environment.

I have just finished setting up a VirtualBox with a minimal Ubuntu inside of it and the mosh client as well as ssh. So you can bring up a 256Mb VirtualBox VM and basically create a unix-to-unix session connection over the MOSH protocol. Again, this is painful when you consider what you have to give up as a terminal client like SecureCRT, but at this point, its pretty much (for those of us with PCs) 2 of your 3 options (the third being running Cygwin on your machine... cough cough).

If ALL of this is too much (and it practically is for many), then your next best fallback to "retaining sessions over breaking TCP links" is to run something on the unix server your logging into like screen (via your login shell) with enough smarts to know if this is a "reconnect" to connect to an existing screen rather than starting a new one (


ekoranyi 01-31-2018 01:24 PM

Hi mdella,

Thanks for the feedback, I've added your interest to the feature request. We will be sure to post here if a version of SecureCRT that supports Mosh becomes available.

mdella 07-01-2021 09:37 PM

MOSH and my new MacOS
So, I was finally convinced two years ago to abandon my PC and move to MacOS. I knew it was a unix based OS but didn't feel like I really needed that for my work especially since 95% of my work was on the other end of SecureCRT. But then I started using Vagrant and splitting into multiple "VMs" on my local box (Macbook Pro, 32GB memory, 8-core i9 (about to migrate to the M1 chipset), etc) and being able to revisit the MOSH issue came back for me.

Needless to say, I've been using other SSH client applications that supported MOSH while commuting (pre-pandemic) because of all the drop outs on either the bus or the train. but now I can "sort of" make the use of SecureCRT with mosh. Using the work from ~andromar back on 02-29-2016, I only added to the end of the Send string a ";exit" so that when I was done, it also dropped out of my MacOS shell. For those that use Mac's and don't know about MOSH, you can use "brew install mosh" if you have homebrew installed on your Mac.

Additionally I broke the username and host into environment variables so that I didn't have to edit the longer string (asked to get the Expect/Send window bigger. Hard to manipulate these on small windows). This also made it easier to copy/paste the entry and only change the shorter entries.


export USER=mdella
/usr/local/bin/mosh --family=all $USER@$HOST;exit

(if you use ssh on a different port, add --ssh="ssh -p 2022" or whatever port you use)
(the --server option in the prior example is redundant if you're using a current version of mosh)

Some things to note here... You cannot make use of your SSH_AGENT forwarding doing things this way as MOSH basically cuts you off from the ssh transport mechanism. You'll have to set up your agent on the MOSH-server side (risky if you don't put passwords on your keys). This leaves your private keys out there on your first server. Not necessarily a good idea.

Sad that there are a lot of things that you can't do without full integration, but this at least allows me to use the "CRT" part of secureCRT still. Working on other pieces to put in the connection to make it smarter (I guess I need to figure out the scripting language with SecureCRT for the Mac).


P.S. I wanted to change the MOSH server timeouts from my end (since I'm defining how long I want the process to wait for me). Normally I wouldn't allow this to be set by an end user, but figured someone might want to know how...

1. Edited the /etc/ssh/sshd_config on the destination machine to include "AcceptEnv MOSH_SERVER_NETWORK_TMOUT MOSH_SERVER_SIGNAL_TMOUT"
2. Edited my personal ~/.ssh/config file to have the following "SendEnv MOSH_SERVER_NETWORK_TMOUT MOSH_SERVER_SIGNAL_TMOUT"
3. On my mac, my default shell is zsh so I edited my ~/.zshrc file with the following:


All times are GMT -6. The time now is 01:00 AM.