Mosh: Difference between revisions

imported>Mic92
No edit summary
m Fix typo in header
Tags: Mobile edit Mobile web edit Visual edit
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{expansion|Missing installation and configuration of both server and client.}}
[https://mosh.org/ Mosh] is an alternative SSH terminal. It has support for roaming, local echo and uses UDP for transport. It also aims to improve responsiveness on intermittent, and high latency connections.
 
See the [https://search.nixos.org/packages?show=mosh&query=mosh mosh Package] and [https://search.nixos.org/options?query=programs.mosh mosh Options]
 
== Installation ==
 
=== Client ===
 
Install the <code>[https://search.nixos.org/packages?show=mosh&query=mosh mosh]</code> package.
 
=== Server ===
 
Enable the <code>[https://search.nixos.org/options?query=programs.mosh programs.mosh]</code> module. You can simply add the following into your <code>/etc/nixos/configuration.nix</code>:
 
<syntaxhighlight lang=nix>
# Enable mosh, the ssh alternative when client has bad connection
# Opens UDP ports 60000 ... 61000
programs.mosh.enable = true;
</syntaxhighlight>
 
== Usage ==
 
With mosh installed on both the client and server, connect by running:
 
<syntaxhighlight lang=console>
$ mosh user@server
</syntaxhighlight>
 
Note that mosh uses SSH for authentication and initialization, so it will respect aliases and other options in <code>.ssh/config</code>. You can also specify SSH options using the <code>--ssh</code> argument. For example, to use port 1122 instead of 22, you can either use <code>Port 1122</code> in SSH config, or use mosh with the <code>--ssh</code> argument:
 
<syntaxhighlight lang=console>
$ mosh --ssh='ssh -p 1122' user@server
</syntaxhighlight>
 
More information is available at [https://mosh.org/#usage mosh.org] or using <code>[https://manpages.debian.org/bullseye/mosh/mosh.1.en.html man mosh]</code>


== Troubleshooting ==
== Troubleshooting ==
Line 17: Line 51:
</syntaxhighlight>
</syntaxhighlight>


Then reconnect with mosh.
Then reconnect with mosh. Note that lingering is enabled by default in NixOS >= 16.09.


As a workaround, it is also possible to set an alias in the user's shell on the server wrapping <code>mosh-server</code> to keep the session around.
As a workaround, it is also possible to set an alias in the user's shell on the server wrapping <code>mosh-server</code> to keep the session around.
Line 27: Line 61:


See also https://github.com/NixOS/nixpkgs/issues/3702#issue-40762878
See also https://github.com/NixOS/nixpkgs/issues/3702#issue-40762878
=== The locale requested by LANG=*** isn't available here. ===
This error occurs when trying to connect to a linux server (non-NixOS distribution) on which mosh-server has been installed via nix. The easy solution is to set LOCALE_ARCHIVE to your OS locale-archive in your .profile or .zshenv:
<syntaxhighlight lang=bash>
export LOCALE_ARCHIVE=/usr/lib/locale/locale-archive
</syntaxhighlight>


<hr />
<hr />
== References ==
== References ==
<references />
<references />
[[Category:Applications]]