Tips en Trucs 2015

SSH in de webbrowser

SSH is de standaard methode om een computer op afstand via een beveiligde verbinding te bedienen. Normaal gebruiken we daarvoor een SSH client die op de computer geïnstalleerd is. In sommige situaties is dit echter niet mogelijk.

Een webbrowser is bijna in alle gevallen voorhanden. Vandaag behandelen we een manier om in de webbrowser computers via een SSH verbinding op afstand te bedienen. Dit kan met verschillende technologieën. Dit kan met behulp van een 100% browser applicatie, waarbij je dus niets aan de SSH server moet veranderen. De mogelijkheden zijn beperkt, maar daartegenover staat dat je snel elke computer met een SSH verbinding op afstand kunt besturen. De tweede methode gebruikt een Java applet die in de browser wordt geladen. Daarvoor moet Java op de computer geïnstalleerd zijn en moet de browser toegang hebben tot Java. Een derde methode bestaat uit het installeren van een extra stuk software op de SSH server (computer op afstand) waardoor je in de browser enkel een speciale URL (adres) moet gebruiken om de computer op afstand te bedienen.

FireSSH

De add-ons Secure Shell voor Chrome en FireSSH voor Firefox zijn twee browser apps om computer met een SSH verbinding op afstand te bedienen. In deze tip behandelen we FireSSH voor Firefox.

Installeer de FireSSH add-on in Firefox (Menu openen (knop met lijnen rechts bovenaan) > Add-ons) en herstart Firefox. Start FireSSH via Menu openen > Ontwikkelaar > FireSSH. Vul de verbindingsgegevens in het dialoogvenster in en klik op de knop Connect.
FireSSH Account Manager
De SSH verbinding naar de computer op afstand wordt opgebouwd, de shell wordt gestart en je kunt opdrachten uitvoeren.
FireSSH
De volledige handleiding staat op de website van FireSSH.

Shell In A Box

De vorige methode (en ook deze op basis van een Java applet) gebruikt de standaard SSH poort (22). Soms wordt poort 22 geblokkeerd, waardoor SSH verkeer onmogelijk is. De poort (http, 80) die voor het surfen gebruikt wordt, staat op de meeste computers wel open. Om een SSH verbinding via de http poort te gebruiken, installeer je op de computer op afstand een programma om het SSH netwerkverkeer via de http-poort te laten verlopen.

Shell In A Box is zo'n programma. Deze methode heeft als voordeel dat elke JavaScript en CSS ondersteunende browser (m.a.w. elke browser) zonder extra add-on verbinding met de computer op afstand kan maken. Shell In A Box installeer je op openSUSE 13.2 met de volgende opdracht:

dany@linux-oj7m:~> sudo zypper install shellinabox
root's password:
Loading repository data...
Reading installed packages...
Afhankelijkheden tussen pakketten oplossen...

The following 2 NEW packages are going to be installed:
  check-create-certificate shellinabox 

2 new packages to install.
Overall download size: 141,9 KiB. Already cached: 0 B  After the operation, 
additional 431,4 KiB will be used.
Doorgaan? [j/n/? alle opties tonen] (j): 
Retrieving package check-create-certificate-0.5-17.1.2.noarch
                                           (1/2),  12,5 KiB ( 25,9 KiB unpacked)
Ophalen: check-create-certificate-0.5-17.1.2.noarch.rpm .................[klaar]
Retrieving package shellinabox-2.14-5.1.2.x86_64
                                           (2/2), 129,4 KiB (405,5 KiB unpacked)
Ophalen: shellinabox-2.14-5.1.2.x86_64.rpm ................[klaar (588,7 KiB/s)]
Controleren op conflicten tussen bestanden: .............................[klaar]
(1/2) Installeert: check-create-certificate-0.5-17.1.2 ..................[klaar]
(2/2) Installeert: shellinabox-2.14-5.1.2 ...............................[klaar]

Standaard gebruikt Shell In A Box poort 4200. Deze poort open je met de volgende opdracht:

dany@linux-oj7m:~> sudo yast2 firewall services add zone=EXT tcpport=4200
root's password:

De Shell In A Box server start je met de opdracht:

dany@linux-oj7m:~> sudo shellinaboxd -t -s /:LOGIN

Bovenstaande opdracht zorgt voor een niet versleutelde verbinding. Standaard gebruikt Shell In A Box een met een certificaat beveiligde verbinding. Meer daarover in de uitgebreide handleiding op het internet.

Daarna kan je in om het even welke browser surfen naar de computer op afstand (zie afbeelding).

Shell in a box