Guten Morgen,
Eigentlich wollte ich ja eine neue "Seite" im Wiki mit dem oben genannten Titel erzeugen, doch leider scheibt mir das System immer nur
Du bist nicht berechtigt, diese Seite aufzurufen.
Deswegen poste ich mal hier, in der Hoffnung, dass jemand der die nötigen Berechtigungen hat die Seite erstellt 😉.
Wie der Titel schon sagt geht es um die Fernwartung von PC's übers Internet. Dazu habe ich die beiden Programme krdc und krfb genutzt.
Das Problem, ist nun, dass man eigentlich ein Port forwarding benötigt. Mit dem Hintergrund, dass der User dessen Rechner man Fernsteuern will, keine Ahnung von Ports oder Port forwarding hat, befindet man sich nun in einem Teufelskreis.
Zudem kommt, ein einfaches Freischalten des Ports im Router macht die gesamte Übertragung sehr unsicher ( da sie ja unverschlüsselt Statt findet ).
Stellen wir uns also folgende Situation vor. Computer A möchte Computer B fern steuern. An Computer B sitzt ein Mensch, welcher nur sehr geringe Erfahrungen mit Linux hat. Dafür aber über einen 2. Kanal ( z.b. Telefon ) erreichbar ist, und Brav eintippt was man ihm befielt.
Zuerst müssen wir den Computer A vor bereiten.
Als 1. installieren wir uns einen SSH Server ( diesen Benötigen wir für das Port Forwarding ).
sudo aptitude install openssh-server
Nach der installation starten wir den SSh server auch gleich :
sudo /etc/init.d/ssh start
Nun müssen wir noch einen Gast Account Anlegen, auf dem sich der Computer B einwählen kann.
sudo adduser gast
ACHTUNG : Das Password dass dieser Befehl verlangt, nicht vergessen.
Da wir Vorsichtig sind, wollen wir nicht, dass der gast irgendwelche Aktionen durchführen kann, also wird er in einer Shell eingesperrt. ( diese Vorgehensweise verdanken wir nbkr http://forum.ubuntuusers.de/topic/gast-account-ohne-rechte-erstellen-fuer-eine-/)
Hierzu legen wir im Ordner /bin die Datei uselessshell.sh an und machen sie ausführbar ( ACHTUNG benötigt root Rechte ).
der Inhalt von uselessshell.sh sieht nun wie folgt aus :
#! /bin/bash
while true; do
echo "Verbindung besteht immer noch!"
sleep 10
done
in der Datei /etc/passwd suchen wir nun den Eintrag für den gast. Dieser sollte in der vorletzten Zeile stehen.
Wir ändern seinen Bash eintrag von /home/gast:/bin/bash um in
/home/gast:/bin/uselessshell.sh
Als letztes muss Computer noch den Port 22 ( der SSH Port ) auf seinen Rechner forwarden, dies geschieht mittels des Routers und ist natürlich bei jedem anders.
So nun sind alle Vorbereitungen Abgeschlossen.
Das eigentliche Verbinden kann durchgeführt werden.
Hierzu muss Computer A erst mal seine Externe IP heraus finden ( z.b. mit http://www.wieistmeineip.de/ ).
Dann weist er den User von Computer B an in einem Terminal folgendes ein zu geben :
ssh -N -R 4500:127.0.0.1:5900 gast@<Externe IP des Computers A>
danach muss der user des Computers B noch
krfb
starten und auf die Verbindung mit Computer A warten
Computer A startet das Programm
krdc
und Verbinget sich mit :
127.0.0.1:4500
Computer B muss bestätigen und Computer A muss dann das Passwort, dass er von Computer B bekommen hat noch eingeben.
Fertig.
Nach der Fern Steuerung sollte Computer A seinen SSH Server wieder beenden :
sudo /etc/init.d/ssh stop
evtl. ist es auch gewünscht den gast account wieder zu löschen :
sudo deluser gast
sudo rm /bin/uselessshell.sh