SSH Protocol in Programm einbinden.

S

Snycs

Gast
Hallo ich möchte ein Programm schreiben, das Vordergründig ein "normales" UI (wie zum Beispiel Putty wenn man es startet) hat, aber hingergründig eine SSH Verbindung mit dem Server herstellt, um per Mausklick Befehle ausführen zu können. Nun möchte ich wissen:

- Ist soetwas überhaupt Möglich?
- Welche Programmiersprache bietet sich dafür an? (bzw kann man das mit Java realisieren, sodass es Plattformübergreifend funktioniert?)
- Wie schwierig ist es für einen Anfänger* so ein Projekt umzusetzten?
- Hat jemand schon Erfahrungen mit Projekten dieser Art gemacht

*Mit Anfänger meine ich, dass man schon Grunkenntnisse hat (ich kann zum Beispiel einigermaßen Bash Scripting) die das Programmieren erleichtern.

Mit freundlichen Grüßen

Snycs
 
Grundsätzlich sollte das kein Problem sein.

Für mich gäbe es da drei Ansätze:

1. ein externes binary aus dem Programm aufrufen und ggf. Return Codes bzw. Fehlermeldungen auswerten.
2. eine bestehende API einbinden und nutzen
3. API selbst schreiben und sich in die SSH Spezifikationen einarbeiten.

von 1 nach 3 muss man sich tiefer in die Materie einarbeiten, sollte bei allen drei Wegen aber irgendwie zum Ziel kommen.
Was man wählt hängt von den eigenen Anforderungen und Ressourcen (Arbeitsaufwand) ab.
Plattformunabhängigkeit hast du ja schon erwähnt...

Ich würde mich mit 2. auseinandersetzen (welche SSH APIs / Bibliotheken gibt es für Java? ), leisten die das, was ich brauche? Dann mal ein bischen mit den Methoden experimentieren und dann kann man das für einen Prototypen mal an eine GUI anbinden.
 
Erstmal danke für deine Antwort. Denkst du Java ist zu komplex bzw man kann das mit einer anderen Sprache leichter lösen? (unabhängig davon ob diese Plattformübergreifend funktioniert)

MFG
Snycs
 
Ohne jetzt alle zu kennen, aber ich vermute alle modernen Objektorientierten Programmiersprachen eigenen sich da ähnlich gut. Jede hat so ihre Vorzüge aber bestimmt auch Nachteile. (ich denke nicht, dass du mit deinem Projekt an irgendwelche Grenzen einer Programmiersprache kommen wirst)

Wenn du schon mit Java gearbeitet hast und damit gut klargekommen bist, dann nimm Java.
Java, C# etc. haben den großen Vorteil, dass fast jedes problem schonmal jemand anderes gehabt hat und es wahrscheinlich dafür eine Lösung im www gibt ;)

Wie komplex das ganze ist, hängt von deinen Anforderungen ab, ob Java das passende Werkzeug ist ebenso.
 
Naja wie gesagt ich möchte damit "nur" Befehle per SSH an den Server senden und die Ausgabe dann Anzeigen lassen.

Mit Java selbst habe ich noch nicht wirklich gearbeitet. Mir erschien Java nur günstig da es Plattformübergreifend funktioniert. Aber es gibt ja Programme wie Wine die es möglich machen selbiges zu machen.

Aber danke für deine hilfe und ich sehe mal wie weit ich komme ;)

Mit freundlichen grüßen
Snycs
 
Das es mit Java funktioniert habe ich fast schon gedacht. Das war ja nicht meine einzige frage.

Ich frage mich wieso schreibt man überhaupt einen antwort auf einen Thread wenn man eh sich eh nur darüber aufregt. Denkst du nur weil du sagst dass man nicht mit Coden anfangen sollte wenn man ein paar fragen in einem Forum postet, werde ich das Programm jetzt nicht schreiben? Wo ist der sinn darin? Kannst du mir das verraten?

MFG
Snycs
 
Du kannst natürlich meinen Post so verstehen wie du es getan hast, oder aber den Anspruch entwickeln erstmal selbst zu suchen bevor du fragst. Ich an deiner Stelle würde es mit der 2. Methode probieren, schon allein weil das Suchen über beliebige Suchmaschinen oftmals eine Größenordnung schneller ist als einen Forenpost zu verpassen und auf Antworten zu warten. Auch ist die Chance konkrete Dokumentation zu finden, anstatt nahezu nichtssagende, teils im Konjunktiv verfasste Forenposts zu bekommen unglaublich zufriedenstellend. ;).

Was deine Fragen angeht, bei mir spuckt die Suche auf Seite 1 mindestens eine Bibliothek für "Java SSH" aus. Aus deren Dokumentation geht hervor wie es geht. Wobei du natürlich für dich entscheiden musst, ob das für dich umsetzbar ist und wenn ja, wie hoch du den Aufwand schätzt.
 
Ich habe bis jetz immer die Erfahrung gemacht, dass ich bei einem Forenpost bessere und direktere Antworten auf mein Problem gefunden habe. Deshalb frage ich lieber gleich erstmal in einem Forum, bevor ich 10 Minuten lang nach Lösungen auf Google suche, die zu meinem Problem passen.
 
Ganz ehrlich, dann solltest du ordentlich suchen und technische Doku lesen/verstehen lernen. Weil selbst wenn "java ssh" nicht taugt kommt mit "java ssh programming" und "java ssh library" pures Gold zum Vorschein.

Was bei Forenposts kommt ist maximal ein Nutzer, der dir das Lesen der technischen Doku abnimmt. Dadurch lernst du aber ersteinmal nichts und gewöhnst du einen unglaublich uneigenständigen Arbeitsstil an, der dich beim weiteren Vorankommen nur behindert. Im Arbeitsleben blockiert und nervt sowas dann nur die Kollegen, was gern auch einen selbst zurückfällt.
 
Snycs schrieb:
Ich habe bis jetz immer die Erfahrung gemacht, dass ich bei einem Forenpost bessere und direktere Antworten auf mein Problem gefunden habe. Deshalb frage ich lieber gleich erstmal in einem Forum, bevor ich 10 Minuten lang nach Lösungen auf Google suche, die zu meinem Problem passen.
Dann solltest du schnellstens lernen richtig zu googlen, das klingt jetzt vielleicht erstmal fies, ist aber wahr. Wenn du erstmal anfängst richtig zu programmieren wirst du einen Haufen Zeit mit dem Suchen von Lösungen verbringen, und je besser man das beherrscht bzw weiß wie man seine Suche formulieren muss um die richtigen Ergebnisse zu bekommen um so mehr Zeit hat man am Ende fürs eigentliche programmieren.
 
EDIT:

Snycs schrieb:
Ich habe bis jetz immer die Erfahrung gemacht, dass ich bei einem Forenpost bessere und direktere Antworten auf mein Problem gefunden habe. Deshalb frage ich lieber gleich erstmal in einem Forum, bevor ich 10 Minuten lang nach Lösungen auf Google suche, die zu meinem Problem passen.

Oh lol
Thema hat sich für mich erledigt. Bin kein Esel für jemanden.
 
Zuletzt bearbeitet:
Wenn du vorher noch nie in einer objektorientierten Sprache bzw überhaupt noch nicht programmiert hast, richte dich auf ein paar Monate lernen und probieren ein. Bash-Scripting wird dir da imho nicht viel weiterhelfen (so wars zumindest bei mir).

Mit den Grundlagen sollte sich sowas im kleinen Rahmen dann fast schon machen lassen. Ist aber natürlich immer die Frage was dein Programm wirklich können soll.


Ohne jetzt wirklich gesucht zu haben behaupte ich mal, daß es garantiert passende Libs für Java, C# und sehr viele andere Sprachen gibt. Wenn du natürlich alles selbstmachen willst... DANN wirds richtig aufwendig. Dann werden dir die reinen Grundlagen eher nicht reichen.
 
Zurück
Oben