Mosh

From ICO wiki
Revision as of 13:58, 22 October 2016 by Ksikkar (talk | contribs)
Jump to navigationJump to search

Mosh (Mobile Shell) on kaugterminal, mille abil on Interneti vahendusel võimalik turvaliselt kliendi arvutist serverisse ühendust võtta. Ta on väga sarnane SSH-le, lausa nõuab selle olemasolu, ent tal on lisaomadusi, millega on eriti silmas peetud mobiilset kasutajaskonda. Mosh annab vahetut tagasisidet, võimaldab võrgurändlust ning töötab ka katkeva ühenduse puhul.

Mosh-i esimene versioon (Mosh 1.0) lasti välja märtsis 2012. Praegune kõige värskem Moshi versioon tuli välja augustis 2016 (Mosh 1.2.6).

Lisaomadused

Vahetu tagasiside

Kui SSH puhul on vaja enne teksti ekraanile kuvamist ära oodata serveri vastus, siis Moshis kuvatakse teksti sisestamine, kustutamine või ridade muutmine koheselt. See toimib tänu Moshi võimele kasutaja tekstisisestusi ette ennustada. Ennustatud tekst, mis pole veel serverilt vastust saanud, kuvatakse allajoonitult (Joonis 1). Pärast serverilt kinnituse saamist jooned eemaldatakse.

Joonis 1. Ühendus katkes pärast "ifc" kirjutamist.

Automaatne võrgurändlus

Kui võrguühendus peaks katkema, annab Mosh sellest staatuseribal koheselt teada, näidates viimasest õnnestunud ühendusest möödunud aega (Joonis 1). Kui võrguühendus taastatakse, sünkroniseerib Mosh automaatselt ning kasutajal on võimalik jätkata punktist, kus ta tegevus eelnevalt pooleli jäi ilma, et programmi oleks vaja taaskäivitada. Sama kehtib ka näiteks arvuti puhkerežiimist äratamisel, kui Mosh eelnevalt töötas.

UTF-8 tugi

Moshi loomisel keskenduti ainult ühele kodeeringule – UTF-8 – mis on ka ainuke toetatud kodeering Moshis. Tänu viimistletud UTF-8 kodeeringule, parandab Mosh mitmed Unixi puugid juba olemasolevates terminalides ning SSH-s. Moshis on võimalik probleemideta kuvada ka hieroglüüfe [[1]].

Turvalisus

Mosh kasutab serverisse sisselogimisel autentimiseks SSH-d, pärast mida käivitatakse kasutaja jaoks nähtamatult mosh-server, suletakse SSH ühendus ning käivitatakse mosh-client. Kuna Mosh on loodud SSH baasil, omandab ta ka selle turvalisuse.

Mõneti on Mosh veelgi turvalisem kui SSH [2]. SSH toetub turvalise andmevoo kandmisel autentimata edastusohje protokollile (Transmission Control Protocol ehk TCP). See tähendab, et ründaja võib sulgeda SSH ühenduse ka andmete krüpteeringut murdmata, sest tal on võimalik välja saata võltssegmente, mis näivad autentsed. Mosh seevastu kontrollib igat datagrammi, mistõttu ei saa ründaja Moshi sessiooni katkestada, kui ta just ei suuda pikema aja jooksul pakettide vahetamist takistada. Lühiajalise ründe korral tekitatakse kasutajale vaid näiline katkestus. Ründe lõppedes Moshi sessioon jätkub.

Viimase nelja aasta jooksul pole Moshil ühtegi turvaauku raporteeritud [3].

Moshi kasutamine

Moshi installeerimiseks ega kasutamiseks pole vaja omada ülikasutaja (superuser) õigusi.

Installeerimine

Moshi kasutamiseks peab see olema installeeritud nii klient- kui serverjaamal. Mosh on saadaval järgnevatel operatsioonisüsteemidel: Linuxi erinevad versioonid, Mac OS X, Android, Solaris, Cygwin, BSD. Lisaks sellele on Mosh olemas ka Chrome App-ina, mida kasutatakse näiteks Windows operatsioonisüsteemi puhul.

Operatsioonisüsteem Installeerimiskäsk [4]
Homebrew (OS X 10.5 or later) $ brew install mobile-shell
MacPorts (OS X 10.5 or later) $ sudo port install mosh
Cygwin C:\> setup.exe -q mobile-shell
Alpine Linux # apk add mosh
Arch Linux # pacman -S mosh
Debian (squeeze-backports and later) $ sudo apt-get install mosh
Fedora (14 or later) $ sudo yum install mosh
Gentoo # emerge net-misc/mosh
openSUSE (12.3 or later) $ sudo zypper in mosh
Ubuntu $ sudo apt-get install mosh
FreeBSD # pkg install net/mosh
OpenBSD # pkg_add mosh
NetBSD (pkgsrc) # cd net/mosh; make install clean
OpenCSW (Solaris 10 Update 8 or later) # pkgutil -i mosh

Ühenduse loomine

Windows

Kõige lihtsama moodusena saab Windowsi peal Moshi kasutada läbi Google Chrome'i laienduse, mida on võimalik alla laadida Chrome'i veebipoest. Pärast rakenduse avamist tuleb loodava ühenduse parameetrid seadistada (Joonis 2). Nii Username kui ka Hostname on ühenduse loomiseks vajalikud.

Joonis 2. Sessiooni loomine Chrome'i abil.

Moshi kasutamisel läbi Chrome'i peab arvestama, et üks Mosh server command'i parameetritest – kasutuskoht (locale) – on vaikimisi seatud en_US.UTF-8 peale [5]:

 mosh-server new -s -c 256 -l LANG=en_US.UTF-8

Kui arvutis, kuhu ühendust võetakse, Moshis seadistatud kasutuskoht puudub, ei saa Moshi kasutada. Seetõttu tuleb kasutuskohta vajadusel muuta. Eesti kasutuskoha puhul peaks Mosh server command olema järgmine:

 mosh-server new -s -c 256 -l LANG=et_EE.UTF-8
Android

Androididel saab Moshi kasutada läbi JuiceSSH. Nii nagu Chrome'i puhul, on ka JuiceSSH-s kasutuskoht vaikimisi en_US.UTF-8. Joonisel 3 on näidatud JuiceSSH seadistus eesti kasutuskoha puhul.

Joonis 3. Kasutuskoha muutmine JuiceSSH's.
Linux

Linuxil (ja mitmel teisel operatsioonisüsteemil) saab Moshiga ühenduse luua sarnaselt SSH-le [6]:

$ mosh username@hostname

Kui sama kasutajanimega ollakse juba arvutisse sisse logitud, pole tarvis enam kasutajanime välja kirjutada. Seega piisab käsust:

$ mosh hostname

Kuidas abi saada

Täpsemat infot Moshi parameetrite kohta leiab manuaalidest:

või terminalist käskudega:

$ man mosh
$ man mosh-server
$ man mosh-client

Kokkuvõte

Mosh on väga hea tööriist mobiilsetele inimestele, kes peavad tihti katkeva võrguühendusega töötama. Samas ei ole Moshi pakutav lisaväärtus võrreldes SSH-ga piisav, et koguda suurt kasutajaskonda.

Autor

Kristiina Sikkar
AK21
oktoober 2016

Allikad

https://mosh.org/
http://linoxide.com/how-tos/mosh-alternative-ssh/
https://linux-audit.com/mosh-ssh-alternative-for-system-administration/
https://github.com/rpwoodbu/mosh-chrome
http://manpages.ubuntu.com/manpages/precise/man1/mosh.1.html
http://manpages.ubuntu.com/manpages/precise/man1/mosh-server.1.html
http://manpages.ubuntu.com/manpages/precise/man1/mosh-client.1.html