Archive for the ‘tunnel’ Tag

Fernwartung mit NX (II) – Update

Nach einem Tipp in den Kommentaren zu meinem letzen Eintrag habe ich das Script entsprechend angepasst. Jetzt kann man einfach dem Script die benötigten Paramter übergeben und braucht es nicht mehr von Hand anzupassen.

Folgende Parameter müssen dem Script übergeben werden:

  • p – Port des fremden SSH Servers (also nicht der eigene), standardmäßig auf Port 22 gesetzt, optional
  • u – Benutzername
  • h – Host des SSH Servers

Zu finden ist das überarbeitete Script hier.

Zur Anregung habe ich das Script von hier genutzt.

Fernwartung mit NX

Vor einiger Zeit hatte ich schon einmal über den NX Server und die Möglichkeit des SSH Doppeltunnels berichtet. Da ich in letzter Zeit immer wieder mal bei Freunden Hilfestellung in Sachen Ubuntu gegeben habe, habe ich ein kleines Script geschrieben, welches überprüft, ob ein SSH- und ein NX-Server installiert sind und gleich eine Verbindung zu einem vorher konfigurierten Rechner aufbaut. Nun kann man sich einfach mit einer Konsole bzw. einem NX Client verbinden und den nötigen Support erteilen. Dies sieht dann z.B. so aus:

ssh -p 2022 benutzer@localhost

Natürlich kann man sich auch direkt auf den SSH Server des „Hilfesuchenden“ verbinden, doch mit Hilfe eines SSH Doppeltunnels braucht er/sie sich nicht um irgendwelche Porteinstellungen am Router kümmern. Weiterhin kann man damit auch abgeschottete Rechner erreichen,  die die Außenwelt nur über Port 80 oder 443 erreichen (in diesem Fall sollte man den eigenen SSH Server z.B. auf Port 443 laufen lassen).

Hier das Script:

#!/bin/bash
#SSH installiert?
echo "Überprüfe, ob SSH Server installiert ist..."
tester=`dpkg -l | grep openssh-server`
if [[ "$tester" =~ "openssh-server" ]]
then
  echo "SSH Server ist installiert."
else
  echo "SSH Server wird installiert. Wird installiert..."
  sudo apt-get install openssh-server
fi

#NX installiert?
echo "Überprüfe, ob NX Server installiert ist..."
tester=`dpkg -l | grep nxserver`
if [[ "$tester" =~ "nxserver" ]]
then
  echo "NX Server ist installiert."
else
  echo "NX Server wird installiert"
  wget http://64.34.161.181/download/3.3.0/Linux/nxclient_3.3.0-6_i386.deb
  wget http://64.34.161.181/download/3.3.0/Linux/nxnode_3.3.0-12_i386.deb
  wget http://64.34.161.181/download/3.3.0/Linux/FE/nxserver_3.3.0-15_i386.deb
  sudo dpkg -i nxclient_3.3.0-6_i386.deb
  sudo dpkg -i nxnode_3.3.0-12_i386.deb
  sudo dpkg -i nxserver_3.3.0-15_i386.deb
fi

#SSH Tunnel aufbauen
#Port, Benutzer und Rechner anpassen!
ssh -p 123 benutzer@deinRechner -R 2022:localhost:22

Und hier im pastebin.

Dies ist eines meiner ersten Scripte und ich freue mich über Verbesserungsvorschläge.

SSH Doppeltunnel

Nachdem ich mich in den letzten Wochen intensiver mit SSH und OpenVPN auseinander gesetzt habe, um Zugriff auf einen Rechner hinter einem transparenten Proxy zu kommen, bin ich auf die Möglichkeit des SSH Dopppeltunnels gestoßen. Eine echt edle Sache (wie SSH überhaupt).

Hier ein kleines HowTo:

  1. Auf beiden Rechnern muss ein OpenSSH Server installiert sein. Der SSH Server, der auf dem Rechner „außerhalb“ läuft, muss an einem Port lauschen, den der Proxy durchlässt (z.B. Port 443). Dazu editiert man die /etc/ssh/sshd_config entsprechend und startet den SSH Server neu (sudo /etc/init.d/ssh restart)
  2. Nun baut man den Tunnel vom Rechner hinter dem Proxy auf mittels remote Portforwarding:
    ssh -p 443 benutzer@rechner-außen -R 2022:localhost:22
  3. Auf dem Rechner außerhalb:
    ssh -p 2022 benutzer@localhost

Und schon ist der Doppeltunnel aufgebaut und man hat Zugriff auf den Rechner hinter dem Proxy. Handelt es sich um einen statischen Proxy ist die Sache komplizierter. Dafür gibt es dann Programme wie proxytunnel.