Schlagwort-Archive: ssh

SSHMenu

Ich habe in den letzten Monaten ja schon immer mal wieder ein GNOME Panel Applet vorgestellt und heute bin ich auf ein weiteres sehr praktisches Applet gestoßen. Es heißt und SSHMenu. Mit diesem Applet ist es möglich mit zwei Klicks eine SSH-Verbindung zum Host seiner Wahl aufzubauen. Gerade wenn man öfter SSH-Verbindungen zu anderen Rechner aufbaut, ist dieses Tool nützlich.

Man kann SSHMenu aus den Quellen installieren:

sudo apt-get install sshmenu-gnome

Danach wird das Applet auf gewohnte Weise dem Panel hinzugefügt. Leider passt es sich nicht so schön in das Theme ein.

Bei der Konfiguration hat man sehr viele Möglichkeiten. Eine gute Übersicht findet man hier. So ist ohne Probleme möglich einen anderen Port anzugeben oder sogar die Position des Terminalfensters zu beeinflussen. Weiter kann jeder SSH Session ein bestimmtes Profil zugeordnet werden.

Quelle der Bilder: http://sshmenu.sourceforge.net

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.

NX – Remote Desktop über SSH

Heute will ich ein bisschen von NX von NoMachine schreiben. Da SSH mich in den letzten Tagen sehr beschäftigt hat, bin ich auch auf die Möglichkeit des XForwardings gestoßen. Dabei ist es möglich die graphische Oberfläche eines Programms auf einem Rechner auf seinen Rechner zu holen. Das ist aber nicht sehr optimiert und brauch relativ viel Bandbreite. Genau an diesem Punkt setzt NX an. Es ist einfach zu bedienen und optimiert, sodass man es Bandbreitenschonend einsetzen kann.

Um NX zu nutzen lädt man sich hier die benötigten Pakete herunter. Den NX Client gibt es für viele Betriebssysteme kostenlos, den NX Server nur für Linux und Solaris. Dann installiert man die Pakete und schon kann es losgehen. Einfach den Host/IP und den Port (meist 22) des Zielrechners eingeben. NX setzt die Installation von OpenSSH voraus – klar.

Den Status des Servers kann man mit „sudo /usr/NX/bin/nxserver –status“ sehen. Damit alles problemlos funktioniert sollte man den SSH Server auf Port 22 laufen lassen. Wenn man einen anderen Port verwendet, so kann man das in der Server Config Datei ändern.

Fazit: NX ist einfach zu konfigurien und funktioniert eigentlich immer, wenn man in der Lage ist sich per SSH auf dem anderen Rechner einzuloggen.

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.