Linux remote desktop met X2GO

Met X2GO kan je van vanaf elke computer verbinding maken met jouw computer. Het enige dat je eigenlijk nodig hebt is een SSH-verbinding die X11-forwarding ondersteund, en de X2GO client, wel kan je een daemon op de “server” computer installeren die de sessies achteraf opruimd, wat anders niet gebeurd.

Deze tutorial gaat er van uit dat je zelf verantwoordelijkheid neemt over het goed instellen van een firewall, en de beveiliging van de ssh-server.

Installatie

SSH server

Eerst moet je een SSH-server instellen. Als dit al gedaan is dan kan je deze stap overslaan. Met het volgende commando kan je de openssh-server installeren:

sudo apt install openssh-server -y 

Zodra dit gedaan is, zou je op een andere computer in een terminal (of cmd-venster op windows) een ssh verbinding kunnen starten.

 ssh gebruikersnaam@ip-van-computer

Als dat lukt kan je uitloggen met logout.

X2GO daemon

De Daemon installeer je op de HOST computer.

De installatie van de X2GO daemon hangt een beetje af van je linux-distributie. Ik ga de stappen voor Debian volgen, als je en andere distributie gebruikt kan je hier jouw instructies vinden.

Eerst moet je het X2GO repository toevoegen. Dat doe je met de volgende stappen. Deze stappen voer je uit als root:

De ondertekeningssleutel toevoegen:

apt-key adv --recv-keys --keyserver keys.gnupg.net E1F958385BFE2B6E

Open nu in een textverwerker als nano of emacs het bestand /etc/apt/sources.list.d/x2go.list en voeg daar volgende inhoud aan toe:

# X2Go Repository (release builds)
deb http://packages.x2go.org/debian buster extras main
# X2Go Repository (sources of release builds)
deb-src http://packages.x2go.org/debian buster extras main

# X2Go Repository (Saimaa ESR builds)
#deb http://packages.x2go.org/debian buster extras saimaa
# X2Go Repository (sources of Saimaa ESR builds)
#deb-src http://packages.x2go.org/debian buster extras saimaa

# X2Go Repository (nightly builds)
#deb http://packages.x2go.org/debian buster extras heuler
# X2Go Repository (sources of nightly builds)
#deb-src http://packages.x2go.org/debian buster extras heuler

Daarna kan je de installatie uitvoeren met

sudo apt-get install x2goserver x2goserver-xsession

X2GO Client

Net zoals de installatie voor de X2GO daemon, hangt de installatie hiervan af van je OS/distributie. Ik gebruik hier de stappen voor Ubuntu, de stappen voor andere distributies of voor windows vind je hier

Je kan de X2GO client installeren met het volgende:

apt-get install x2goclient

X2Go Gebruiken

Als je de X2Go client start, zal je een scherm zoals hieronder staat te zien krijgen. als je in de menubalk op “sessie” > “nieuwe sessie” klikt, kan je een nieuwe sessie aanmaken.

Ik maak gebruik van een virtuele machine, vandaar de naam, maar de instellingen zoals de host etc moet je natuurlijk aanpassen naar wat voor jou de juiste gegevens zijn (bv het IP van jouw computer)

Zodra alles goed staat, zal je een vak zien aan de rechterkan van het scherm, met de naam van de sessie, en wat informatie. Als je hier dubbel op klikt kan je verbinding maken.

Zo, nu kan je van overal verbinding maken met jouw eigen computer via een ssh-verbinding.

Corona computervirus

Het was natuurlijk niet ondenkbaar, maar het is dus wel gebeurt: Een computervirus dat zich versprijd tussen het nieuws van de corona-maatregelen. Zo heeft sophos in Italie een spam-campagne gevonden dat berichten doorstuurde, met daarin malware.

Deze scamberichten deden alsof de van de WHO kwamen, en vroegen de ontvangers voor hun e-mail wachtwoorden, wat niemand natuurlijk ooit zou doen.

Protonmail of gewoon PGP

Als je op zoek gaat naar een veilig E-mail adres heb je een aantal opties, Protonmail, een eigen mailserver, of gebruik maken van PGP. Ikzelf maak gebruik van PGP. Protonmail is echter een gratis oplossing die standaard versleutelde e-mail zou aanbieden, maar is het wel zo veilig als het lijkt?

Vorig jaar kwam ik terecht op een reddit thread waar er gesproken werd van een groote fout in protonmail. Deze thread ging er over dat iemand ineens een overvloed aan e-mail had en dat protonmail e-mail vertraagde/blokkeerde, en melde dat als het zo bleef dat het account gesloten zou worden, Nadat hij contact op nam met protonmail werd hem verteld dat de e-mail vals was, ondanks dat het ondertekend was door protonmail zelf (met een ster in de interface). Dus, In protonmail worden berichten die scam zijn van protonmail zelf toch aanzien als echt, zonder zo te zijn.

Bij PGP kan je zulke problemen niet voorhebben, want jij beheerd de sleutels en controleert zelf de echtheid van berichten daarmee, en als de signature niet klopt met de public-key die jij van de verzender hebt, dan weet je dat het bericht niet van de verzender is, maar van iemand die de verzender nabootst, iets wat je zelf niet in handen hebt bij protonmail.

Aan de slag met GPG

Ik ben een grote fan van encryptie, zo kan je mijn gpg sleutels vinden op deze pagina. Encryptie gebruiken zoals GPG lijkt moeilijk, maar dat is het niet.

GPG staat voor GNU Privacy Guard en is een implementatie van OpenPGP. GPG is een tool om eenvoudig versleuteling van tekst/bestanden te voorzien. Iedere gebruiker maakt met PGP een sleutelpaar aan, bestaande uit een private en een public key. De private key word gebruikt voor de ontsleuteling/ondertekening, waar de public key word gebruikt voor de versleuteling/controle van de ondertekening. Zoals de naam van de private en public key al vertellen, hou je de private key privé, en de public key maak je publiek beschikbaar (deze deel je bv op je website). Mensen die jou dan willen e-mail sturen kunnen dan gebruik maken van jouw public key om e-mail te versleutelen, die enkel jij met de private key kan ontsleutelen.

GPG installeren

Ik raad het gebruik van kleopatra als gui voor GPG aan. GPG en kleopatra is op Debian/Ubuntu te installeren met apt install gpg kleopatra -y en op Windows computers kan er gebruik gemaakt worden van gpg4win, GPG4Win installeert ook nog enkele extensies voor outlook.

Sleutelpaar maken

Zodra GPG en kleopa geïnstalleerd zijn kan je een nieuw sleutelpaar aanmaken.

Ik raad persoonlijk aan om een vervaldatum op een sleutel te zetten, bijvoorbeeld een jaar, of enkele jaren. Hierna maak je gewoon een nieuwe aan, die dan weer een jaar of enkele jaren geldig is. Als key gebruik je best RSA 4098 bits of een ECDSA key (ECDSA is veiliger als RSA, al is RSA 4098 ook voldoende sterk.), zoals je kan zien in de screenshot hieronder. Ik maak hier gebruik van RSA 4098 bits

Instellingen als de vervaldatum kunnen in theorie later gewijzigd worden, maar dat raad ik persoonlijk af.

Zodra jouw GPG sleutel gemaakt is zal je een wachtwoord van je public key moeten instellen, dit is een extra laag beveiliging moest jouw private key ooit gestolen worden. Zodra je klaar bent raad ik je aan om een back-up te maken van de private key (deze bevat automatisch ook de public key), en deze op een ander toestel (bv een usb-stick in een kluis, of bv een papieren backup) te bewaren.

GPG gebruiken

Om tekst te versleutelen kan je het klembord gebruiken, in Windows is er een tekstvak aanwezig die deze functionaliteit vervangt. Om bestanden te versleutelen klik je op de “versleutelen/ondertekenen” knop in de toolbar, en om te ontcijferen de “ontsleutelen/verifiëren” knop.

Zo, nu weet je hoe je veilig naar mij kan e-mailen. voel je vrij om het uit te testen door een mailtje te sturen naar mij {{site.email}} met mijn GPG sleutel.

Alles wat mis is met VPN Reclame

Het is moeilijk om naar techcontent te kijken op het internet zonder reclame tegen te komen van VPN-providers. Even voor de duidelijkheid, ik heb niets tegen het gebruik van een vpn, maar eerder tegen de manier dat er reclame voor gemaakt word.

De reclame is meestal hetzelfde, “Browse securely and anonymously” of “Stop your ISP from spying on you”. Als je gebruik maakt van een HTTPS verbinding, kan je ISP niets zien buiten de sites die je bezoekt, maar niet welke pagina’s/inhoud op die site. Eigenlijk verleg je het probleem van de mogelijke spionage van de ISP naar de VPN-provider, want je verkeer verlaat daar de vpn-tunnel, waardoor zij weer alles zien. Het “Browse anonymously” klopt nog tot een bepaald niveau, want vaak kan je kiezen in welk land je vpn-tunnel uitkomt, dus kan je dat verbergen, maar als je alsnog inlogt met een account gaat het anonieme er af, want een account heeft een naam, en een naam is niet meer zo anoniem. Als je echt anoniem wilt surfen raad ik je aan om gebruik te maken van TOR, en natuurlijk niet in te loggen met accounts.

Nu zou het je misschien verbazen dat ik zelf een VPN gebruik, wel niet een vpn van vpn-providers, maar eerder een die ik enkel gebruik om van buitenshuis toch te kunnen verbinden met mijn thuisnetwerk, om zo dan weer verbinding te maken naar mijn pc of raspberrypi’s. Ik gebruik een VPN namelijk waar het voor bestaat, als “Virtual Private Network”.

Kleine docker cluster

Ik heb onlangs een kleine docker cluster gemaakt van mijn 2 raspberrypi’s. Ik gebruik docker hierop voor het hosten van enkele services (welke gerepliceerd zijn over de 2 pi’s) en enkele ubuntu-containers die gebruikt worden als vm. Zodra ik docker meer heb ontdekt zal ik hier nog wat over posten.

Linux map met quota

Ik wou onlangs een map beperken in grote (bv max 500mb), aangezien het hier om een container ging kon ik niet in /etc/fstab quota’s gaan instellen, dus moest ik op zoek naar een andere manier. Toen vond ik na even zoeken het bash-script mklimdir. Dit script maakt een loopback-device die een beperkte grote heeft en gemount word in een bepaalde map. Dit is zeer handig als je een map wilt beperken in grote, zonder quota’s te moeten gaan opzetten.

Ubuntu mate wifi disconection fix

Ik had problemen met mijn laptop zijn wifi na het instellen van ubuntu mate 18.04, ik vond echter al snel de oplossing die te maken had met de ahavi-daemon die ik met volgende fixes kon oplossen:

in /etc/avahi/avahi-deamon.conf, zoek je de regel domain-name = .local, verander deze naar  domain-name = .alocal (of iets gelijkaardig, ik heb het gecomment, wat ook werkte)

Dan in /etc/default/avahi-deamon, verander AVAHI_DAEMON_DETECT_LOCAL=1 naar AVAHI_DAEMON_DETECT_LOCAL=0 (op line 4).

Dan moet je je systeem herstarten en daarna zou je verbonden moeten blijven. Ik moest ook nog een vast-ip instellen, aangezien ik mijn pc altijd laat aanstaan, 24/7, maar dat kan je doen in de instellingen van je router/modem.

Soms werkt het volgende ook:

nmcli c up <netwerknaam>

Edit 2020-01-18: Nadat ik ubuntu 18.04 heb geherinstalleerd, heb ik geen last meer van dat probleem, mogenlijks door kernel-updates.