Netzwerk-Daemon / Prompt

G

gruenpflanze

Mitglied
Hallo,
mein Vorhaben, in C geschrieben:
Serverseitig:
Daemon, der auf einem Port auf eine eintreffende SSH-Verbindung wartet.

Clientseitig:
Linux-Shell:
$ ssh root@ip:port (oder wie halt die Syntax genau ausschaut.)

So soll eine über SSH verschlüsselte Verbindung auf das Serverprogramm hergestellt werden.
1. Ist das so möglich? Wenn nein, wo gibt es Tutorials / Bücher zum Thema?

Wenn die Verbindung steht, soll der Server dem Client einen Prompt zur Verfügung stellen, ähnlch wie ein konsolenbasierter mysql-server:
mysql>
Bei dem man dann Befehle eingibt. Diese werden dann, verschlüsselt, zum Server übertragen.

Wie genau kann man sowas realisieren? Ich finde kein gutes Material im Internet.

LIebe Grüsse,
gp
 
Hi,

auf http://www.rfc-editor.org/rfcsearch.html ssh eingeben. Der spuckt dann einen ganzen Haufen Dokumente aus, in denen ganz genau beschrieben ist, wie ssh funktioniert. Und das dann einfach implementieren. Oder Du suchst mal nach +ssh +library oder nimmst einfach was fertiges von sourceforge.net als Grundlage und änderst das dann ab.


Liebe Grüße, Neq

Seh gerade, unter dem Wikipedia Artikel sind die RFC's auch noch mal verlinkt.
 
Schau mal in die Manpage von ssh und die Option -L an und dann überleg mal ob du wirklich diesen Aufwand machen willst. Ansonsten wäre es eigentlich interessanter SSL/TLS einzusetzen, das ist der gängige Standard. Was für einen Grund gibt es denn dass es genau SSH sein muss?
 
Schau mal in die Manpage von ssh und die Option -L an und dann überleg mal ob du wirklich diesen Aufwand machen willst. Ansonsten wäre es eigentlich interessanter SSL/TLS einzusetzen, das ist der gängige Standard. Was für einen Grund gibt es denn dass es genau SSH sein muss?

Es gibt keinen Grund, SSH einzusetzen. Ich habe nur gedacht, dass dieses Protokoll gut ist, weil ich mich so am Server authentifizieren kann.
Seh ich das richtig, dass eine SSL-Verschlüsselung so ablaufen würde:
Client schickt client_hello
Server schickt server_hello + schlüssel
Verbindung ist aufgebau, Datenübertragung
Verbindung kann vom Client oder Server getrennt werden.

Es ist ja aber so, dass ich über diese Verbindung Textstrings vom Client an den Server schicken will. Dieser muss diese Strings dann interpretieren und als Befehle ausführen: mit Root-rechten. Also braucht es eine Clientseitige Authentifizierung, sonst kann ja jeden den als root laufenden Daemon mit Befehlen zumüllen.
Wie mach ich sowas? Zu diesen Punkten finde ich keine Literatur, über Links oder Buchempfehlungen wär ich also froh.

Liebe Grüsse,
gp
 
Na ja, Authentifizierung kannst du auch über eine einfache Abfrage
User?
Kennwort?
erreichen. Die Frage ist ja, ob du unbedingt die Systemgestützte Authentifizierung brauchst. Ich denke mal ein einfaches ssh mit sudo kombiniert reicht für deine Zwecke also das Ausführen von Kommandos nicht aus? Ich würde mir ein Protokoll ausdenken über dass mein Anwender bestimmte Befehle schicken darf, nachdem er seinen Usernamen und Kennwort vorher mitgeteilt hat. Über SSL ist das zumindest rel. sicher. Alternativ gibt es auch SSL Client Zertifikate, die sind dann noch sicherer. Wie das verwendet wird kann ich dir leider nicht sagen, da ich noch nie SSL oder SSH Bibliotheken verwendet habe. Vllt. ist die SSH Idee ja gar nicht schlecht, dazu kann ich nur leider nichts sagen. Ich weiss eben nicht ob die Bibliotheken sowas einfach erlauben während der Sinn von SSL gerade die Absicherung von Verbindungen ist, da sollte es reichlich Infos geben..

EDIT: Weitere Idee: Bau doch einfach deinen Daemon als Shell auf oder über nen Socket ansprechbar, dann lass die User sich über SSH einloggen und als Shell gibst du dann eben deinen Daemon der den o.e. Prompt bietet. Das geht dann auch mit jedem Standard ssh Client..
 
Zurück
Oben