Page 1 of 1

Netbasierter ssh client

Posted: 11. Jan 2008 16:09
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

Thema

Posted: 11. Jan 2008 16:45
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

Re: Netbasierter ssh client

Posted: 14. Jan 2008 13:34
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

Posted: 15. Jan 2008 7:15
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).

Posted: 15. Jan 2008 7:31
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).

Posted: 15. Jan 2008 10:10
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).

Posted: 15. Jan 2008 10:29
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).

Posted: 15. Jan 2008 11:32
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

Posted: 16. Jan 2008 8:15
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...

Antwort oder Frage sshvia https

Posted: 16. Jan 2008 10:43
by haha
Über Webmin besteht die Möglichkeit ssh auszuführen. Oder täuscht das?

Antwort oder Frage sshvia https

Posted: 16. Jan 2008 10:44
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

Posted: 16. Jan 2008 14:51
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

Posted: 18. Jan 2008 8:19
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.

webmin

Posted: 18. Jan 2008 15:04
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 ---

Nachtrag

Posted: 18. Jan 2008 21:31
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.