X11vnc und Ssvnc unter KDE mit einem DynDns und statischer IP-Adresse betreiben

 

  Die folgende Konfiguration gibt den aktuellen Bildschirm des Hosts-Rechners verschlüsselt wider.  
     
  Voreinstellungen:  
  Der Host-Router sollte einen Dynamischen Domainserver ansprechen z.B.: spdns.org.
Ein Account kann z.B. dort registriert werden. Die Daten müssen dann im Router unter DynDNS eingetragen werden.
 
     
  Update-URL:   update.spdyn.de/nic/update?hostname=<domain>&myip=<ipaddr>  
  Domainname:   dyndns_die_vom_server_vereinbart_wurde: z.B.: testdns.spdns.org  
  Benutzername:   dyndns_die_vom_server_vereinbart_wurde: z.B.: testdns.spdns.org  
  Kennwort:   aktueller Update-Token  
  Kennwortbestätigung:   aktueller Update-Token  
     
  Der zu bedienende Rechner sollte eine feste IP-Adresse besitzen, damit leichter eine Zuweisung der frei zu gebenden Ports im Router erfolgen kann.  
  Unser Host-Rechner hat hier die IP-Adresse 192.168.178.41.  
  Folglich geben wir im Router den Port 22 für 192.168.178.41 frei.  
  Unser Benutzer auf dem Rechner mit der IP-Adresse 192.168.178.41 heisst linuxmint  
     
  SSH-Server installieren ((auf dem zu bedienenden PC(Host))(für die Verschlüsselung))  
  Installation in der Konsole oder über Synaptic:  
  sudo apt-get install openssh-server  
  Damit sollte der SSH-Server installiert sein und bei jedem Starten des PC der Port 22 frei geschaltet  sein.  
     
  X11vnc installieren (auf dem zu bedienenden PC(Host))  
  Installation in der Konsole oder über Synaptic:  
  sudo apt-get install x11vnc  
  Nach der Installation ist ein Passwort für den VNC-Server zu setzen:  
  sudo x11vnc -storepasswd KENNWORT /etc/x11vnc.pass  
     
  Der Server soll nach dem Laden des Displaymanagers gestartet werden. Dazu wird ein sh-Skript angelegt: /home/USER/x11vncconf.sh  
   #!/bin/bash  
  x11vnc -display :0 -rfbauth /etc/x11vnc.pass -noxrecord -noxfixes -noxdamage -forever -bg  
  Die Rechte sind zu vergeben mit:  
  sudo chmod +x x11vncconf.sh  
  Danach in den Systemeinstellungen von KDE unter „Starten und Beenden“ eben jenes Skript im Autostart hinzufügen (Ausführungszeitpunkt sollte „Anmeldung“ sein). Damit sollte nach jeder Anmeldung der Port 5900 frei geschaltet sein.  
  Mit folgenden Befehl in einem Terminal kann eine x11vncconf.sh heruntergeladen werden:  
  wget http://nakorpi.bplaced.net/data/x11vncconf.sh  
     
  SSVNC installieren (der bedienende PC(Client))  
  Damit der Server fern gewartet werden kann muss auf dem Client ssvnc installiert werden. Die Verbindung wird grundsätzlich über TLS bzw. SSL verschlüsselt. Installation in der Konsole oder über Synaptic:  
  sudo apt-get install ssvnc  
     
  Sobald Ssvnc installiert ist könnte man auch schon loslegen mit dem fern warten:  
  Ssvnc starten und folgende Einstellungen machen:  
     
  Die Passwort-Methode:  
     
  VNC Host: Display               localhost:0  
  VNC Passwort  
  Proxy/Gateway                      linuxmint@testdns.spdns.org  
  Den Button USE SSH drücken. Unter Options…bei „Automatically Find X Session“ einen Hacken setzen. Danach auf Done. Connect drücken um die Verbindung zu starten.  
   
  Nachdem Connect gedrückt wurde, dauert es eine Weile bis sich das Programm verbindet.  
  Es muss dann noch das Passwort des Benutzers linuxmint eingegeben und bestätigt werden.  
     
  Wenn man nicht auf die Passwort-Methode vertrauen will gibt es eine weitere Möglichkeit nämlich  
     
  Die Public-Key-Methode:  
     
  In einem Terminal folgenden Befehl verwenden:  
  ssh-keygen -t rsa -b 4096  
  Ein Passwort für die erstellte Datei eingeben  
  Die Dateien id_rsa. und id_rsa.pub wurden im Verzeichnis ~/.ssh erzeugt  
  Der öffentliche Schlüssel muss nun mit folgenden Befehl zum Zielrechner übertragen werden:  
  ssh-copy-id -i ~/.ssh/id_rsa.pub user@server  
  user@server ist in unserem Fall durch linuxtmit@testdns.spdns.org zu ersetzen  
  Es muss noch das Passwort vom Benutzer linuxmint eingegeben werden  
  Danach sollte die Datei übertragen sein  
  Jetzt sollte der Verweis zum PublicKey-Verfahren auf dem Clientrechner hinterlegt werden  
  In der Datei ~/.ssh/config/ folgendes eingeben:  
     
  Hostname testdns.spdns.org  
  User linuxmint  
  IdentityFile ~/.ssh/id_rsa  
     
  Am Zielrechner anmelden kann man sich wie oben im Bild gezeigt, nur das man nun das Passwort der id_rsa - Datei eingeben muss  
     
  Wenn das ganze funktioniert wäre es am besten in der Datei /etc/ssh/sshd_config auf dem Zielrechner die folgenden Optionen so ab zuändern  
     
  PasswordAuthentication   no  
  UsePAM   no  
     
  Quellen:          https://wiki.ubuntuusers.de/SSH        https://wiki.ubuntuusers.de/VNC