Netbasierter ssh client

Post Reply
Message
Author
urumel

Netbasierter ssh client

#1 Post by urumel »

Das Thema sagt schon alles. Ich würde gerne eine maschine komplett (also auch als Root) über das Web administrieren können. Vorzugsweise eine freie Lösung, die auf dem Server lauffähig ist, kein Applet, daß man sich von irgendeiner Webseite in den Browser laden muß.

Ich bin mir des risikos voll bewußt, aber darum geht es nicht

haha

Thema

#2 Post by haha »

> Titel: Netbasierter ssh client ... Das Thema sagt schon alles
Genausoviel wie "Monitor mit grafischer Bildausgabe" oder "Räder mit Rollfunktion".

> Ich bin mir des risikos voll bewußt
???

> Vorzugsweise eine freie Lösung ..
Das dem Linux beiliegende ssh-Paket nennt sich openssh und steht unter BSD-Lizenz.

Installieren und Aufrufen mußt Du es aber schon alleine ;-)

haha

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

Re: Netbasierter ssh client

#3 Post by Janka »

urumel wrote:Das Thema sagt schon alles. Ich würde gerne eine maschine komplett (also auch als Root) über das Web administrieren können. Vorzugsweise eine freie Lösung, die auf dem Server lauffähig ist, kein Applet, daß man sich von irgendeiner Webseite in den Browser laden muß.
Dann ist das aber auf keinen Fall SSH. DU willst ganz einfach einen Terminalzugang über eine HTTP-Verbindung haben. Das geht *grundsätzlich nicht*, weil eine HTTP-Verbindung zustandslos ist, die Anfragen also einander nicht zugeordnet werden können.

Allenfalls kannst du etwas, was wie eine Terminalsitzung *aussieht* mit Hilfe von Cookies simulieren. Allerdings verhält sich eine solche Simulation doch in wichtigen Details, bspw. der Pufferung von Ausgaben sowie der Eingabe über ein getrenntes Eingabefeld doch sehr von der Bedienung einen gewöhnlichen Terminals.

Man kann sowas sehr einfach mit einem simplen CGI-Skript "exec.cgi" machen, in etwa so:

Code: Select all

#!/bin/sh
eval $QUERY_STRING
Dann muss der Befehl jeweils in der Browserzeile so

Code: Select all

http://meinedomain/exec.cgi?Befehl
angegeben werden. Bei dem Beispiel solltest du allerdings beachten, dass damit jedermann, der auf den Server per HTTP zugreifen kann, dort jeden Befehl ausführen darf. Man sollte das Verzeichnis also mit Kennwort sichern und natürlich https statt http benutzen, um das Kennwort verschlüsselt zu übertragen. Mehr Sicherheit schafft außerdem die Verwendung einer rsh statt sh oder ein passend konfiguriertes sudo zwischen eval und $QUERY_STRING. Letzteres ist auch notwendig, wenn man Dateien bearbeiten will, die nicht vom Webserver-Benutzer gelesen/geschrieben werden dürfen.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

urumel

#4 Post by urumel »

Danke erstmal für eure Antowrten. Natürlihc hast Du recht, ich möchte im Endeffekt eine Konsolensitzung mit root Rechten über das Web haben.

Das Problem sind die root rechte, da apache natürlich weiterhin als www Benutzer laufen soll. Das macht die cgi Sache schwierig. Evtl. wäre suexec aber eine Lösung.

Auf ssh kam ich, da es diverse Java ssh Clients gibt - der bekannteste dürfte wohl Mindterm sei, die genau das bieten, jedoch nicht frei sind oder, noch schlimmer, über eine drittseite laufen, aber das Rechteproblem nicht haben.

Und vielleicht hätte jemand etwas vergleichbares gekannt, evtl. sogar ganz ohne java (in php, püton oder was weiß ich).

urumel

#5 Post by urumel »

Danke erstmal für eure Antowrten. Natürlich hast Du recht, ich möchte im Endeffekt eine Konsolensitzung mit root Rechten über das Web haben.

Das Problem sind die root rechte, da apache natürlich weiterhin als www Benutzer laufen soll. Das macht die cgi Sache etwas schwierig. Evtl. wäre suexec aber eine Lösung.

Auf ssh kam ich, da es diverse Java ssh Clients gibt - der bekannteste dürfte wohl Mindterm sei, die genau das bieten, jedoch nicht frei sind oder, noch schlimmer, über eine Drittseite laufen, aber das Rechteproblem nicht haben.

Und vielleicht hätte jemand etwas vergleichbares gekannt, evtl. sogar ganz ohne java (in php, püton oder was weiß ich).

urumel

#6 Post by urumel »

Danke erstmal für eure Antowrten. Natürlich hast Du recht, ich möchte im Endeffekt eine Konsolensitzung mit root Rechten über das Web haben.

Das Problem sind die root rechte, da apache natürlich weiterhin als www Benutzer laufen soll. Das macht die cgi Sache etwas schwierig. Evtl. wäre suexec aber eine Lösung.

Auf ssh kam ich, da es diverse Java ssh Clients gibt - der bekannteste dürfte wohl Mindterm sei, die genau das bieten, jedoch nicht frei sind oder, noch schlimmer, über eine Drittseite laufen, aber das Rechteproblem nicht haben.

Und vielleicht hätte jemand etwas vergleichbares gekannt, evtl. sogar ganz ohne java (in php, püton oder was weiß ich).

urumel

#7 Post by urumel »

Danke erstmal für eure Antowrten. Natürlich hast Du recht, ich möchte im Endeffekt eine Konsolensitzung mit root Rechten über das Web haben.

Das Problem sind die root rechte, da apache natürlich weiterhin als www Benutzer laufen soll. Das macht die cgi Sache etwas schwierig. Evtl. wäre suexec aber eine Lösung.

Auf ssh kam ich, da es diverse Java ssh Clients gibt - der bekannteste dürfte wohl Mindterm sei, die genau das bieten, jedoch nicht frei sind oder, noch schlimmer, über eine Drittseite laufen, aber das Rechteproblem nicht haben.

Und vielleicht hätte jemand etwas vergleichbares gekannt, evtl. sogar ganz ohne java (in php, püton oder was weiß ich).

User avatar
Janka
Posts: 3585
Joined: 11. Feb 2006 19:10

#8 Post by Janka »

Und vielleicht hätte jemand etwas vergleichbares gekannt, evtl. sogar ganz ohne java (in php, püton oder was weiß ich).
Es gibt ganz sicher einen SSH-Client, der in PHP, Python etc. geschrieben ist. Dieser (und PHP, Python etc.) müssen dann aber jeweils auf dem entfernten Rechner installiert werden, was du ja nicht wolltest.

Überleg dir nochmal genau, wie die einzelnen Protokolle funktionieren und warum was wo installiert werden muss.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

urumel

#9 Post by urumel »

Hallo,

erstmal sorry für die vielen Posts, aber ich bekam immer einen "could not insert word" Fehler und bin deshalb nicht davon ausgegangen, daß meine Antwort übernommen wurde.

Die Installation auf dem entfernten Server ist nicht nur ok, sondern ausdrücklich gewünscht, mir ist auch nicht klar, wo ich das verneint hätte.
Ich möchte nur kein Applet auf einem unbekannten Drittserver im Internet starten, der dann eine ssh Verbindung zu meinem zu administrierenden Rechner aufbaut und diese ssh Verbindung dann in eine Webseite umsetzt (so etwas gibt es, scheidet aber aus, da das Netz, für daß diese Lösung in Frage kommt, keine Verbindung zum Internet hat und auch sonst inakzeptabel wäre)

Trotzdem noch einmal zusammengefasst: Im Prinzip möchte ich einen Browser aufmachen und in diesem Browser eine Konsole mit Wurzelrechten haben. So, also ob mich über ssh oder telnet verbunden hätte, nur eben in einem Browserfenster.
Über eine ganz normale http(s) Verbindung. Sprich, auf dem entfernten Rechner läuft eine Webanwendung, die mir in einem Browserfenster eben diesen Konsolenclient zur Verfügung stellt.
Das die Sache Sicherheitstechnisch arg bedenklich ist, ist mir voll bewußt

Diese Webanwendung sollte aber frei (speech) sein, damit scheidet Mindterm schonmal aus. Und javafreie Lösungen sind mir immer sypathischer als Kaffeehaltige. Aber in der Not...

haha

Antwort oder Frage sshvia https

#10 Post by haha »

Über Webmin besteht die Möglichkeit ssh auszuführen. Oder täuscht das?

haha

Antwort oder Frage sshvia https

#11 Post by haha »

Über Webmin besteht die Möglichkeit ssh auszuführen. Oder täuscht das?

-----------------
Pro-Linux Error:
Allgemeiner Fehler
Could not insert new word

JochenAlsGast

#12 Post by JochenAlsGast »

Schau mal hier: http://javassh.org/space/start
Java-SSH-Client als Applet vom Server ladbar, unterliegt der GPL2. Der SSH-Port des Servers muss natürlich erreichbar sein, aber da dann eine normale Authentifizierung stattfindet, kannst Du Dich auch als root anmelden.

Jochen

urumel

#13 Post by urumel »

Vielen Dank!

Der java ssh client sieht sehr gut aus, den werde ich mir mal genauer anschauen. Der ssh Port ist von mir zwar nicht direkt erreichbar, daher ja auch die webbasierte Lösung, wohl aber durch den Webserver, der das Applet hosten wird. Ich werde mal sehen

Zum Thema Webmin: Ich kenne nur die Einrichtung vom sshd, bin aber auch nicht so firm in webmin.

haha

webmin

#14 Post by haha »

Hi,

Webmin ist ein allgemeines Linux-Admin-Tool, mit dem man alles Mgliche über https administrieren kann: System (Backup, Prozesse, Benutzer,...), Netzwerk (Netzwerk, Firewall, NFS, NIS, Kerberos, LDAP, Einwahl), Hardware (Drucker, GRUB, RAID, LVM, SMART, ...), Cluster, Sonstges (..).

Uns unter "Sonstiges" steht ssh-Client und SSH/Telnet-Login...

Also einfach das Paket Webmin installieren, es wird dann mit "/etc/init.d/webmin start" gestartet und der Aufruf im Browser ist https://localhost:10000/

-- have a lot of fun ---

haha

Nachtrag

#15 Post by haha »

> und der Aufruf im Browser ist https://localhost:10000/

Natürlich statt localhost dann Name oder IP des entsprechenden Clients.
Remote-Zugriff muss möglicherweise aber erst freigeschaltet werden.

Post Reply