SSH oder Telnet

Status
Nicht offen für weitere Antworten.

joerg3011

Mitglied
Hi,

ich bräuchte mal die Erfahrungswerte von Leuten, die bereits damit gearbeitet werden.
Ich muss ein Programm unter Java Struts entwickeln (es wird auf nem Windows Server laufen), dass sich auf Linux Server verbinden und dort sowohl Files auslesen und runterkopieren kann, als auch Befehle wie bspw. df hinschicken kann, damit ich den freien Speicherplatz auslesen kann.

Die Frage ist jetzt, ob Telnet oder SSH besser geeignet ist. Zum einen von der Performance her, zum anderen vom Schwierigkeitsgrad der Umsetzung in Java her.

Würde mich freuen, wenn mir da jemand weiter helfen könnte.

Gruß Jörg

edit: ach ja, die größere Sicherheit der SSH-Verschlüsselung bitte außer Acht lassen, und ist es eigentlich auch möglich eine SSH-Verbindung aufzubauen, ohne sich andauernd mit Login und Passwort anzumelden?
 

Bleiglanz

Gesperrter Benutzer
völlig egal dass telnet etwas schneller wäre, das nimmt heut keiner mehr, du musst also eh SSH verwenden sonst lachen die Leute über dich :)

google mal nach "SSH Java", es gibt ein paar Libraries die das können

versuch nicht das ganze mit Runtime.exec zu steuern, da ist nämlich die Übergabe des Passworts ein gewisses Problem

wenn der Linux Server aber eh nur im lokalen Netzwerk steht (und also Sicherheit nicht unbedingt soooo relevant), dann würd ich mit Samba eine Freigabe machen und mit einem cron job alle 5 Minuten "df > free.txt" irgendwo öffentlich ablegen

oder auch nur einen Webserver installieren und von der Struts-Anwendung aus die Datein über http abholen :)
 

Bleiglanz

Gesperrter Benutzer
edit: ach ja, die größere Sicherheit der SSH-Verschlüsselung bitte außer Acht lassen, und ist es eigentlich auch möglich eine SSH-Verbindung aufzubauen, ohne sich andauernd mit Login und Passwort anzumelden?
ja, man kann über den sog. SSH-agent mit asymetrischen Keys passwortlose Accounts einrichten (aber wegen Sicherheit fraglich)

SSH mit Passwort erfordert de facto IMMER manuelles Eingreifen eines Users, das ist ein gewisses Problem bei cron oder Server-Reboots
 

joerg3011

Mitglied
Hab mir bereits das Ganymed SSH-Package für Java geholt.

Das mit dem Eingreifen des Users ist ja das Problem, die Anwendung soll sich beim Starten automatisch verbinden.
 

Bleiglanz

Gesperrter Benutzer
sollte eigentlich mit der Java Lib "programmatisch" möglich sein, dann wird eben username + password (oder besser username + passphrase bei public key authentifizierung) hart hinein kodiert

aber wenn ich so drüber nachdenke:

wenn die Front-Web-Anwendung eine Datei erst über ssh abholen muss, dann wird das Ding verdammt langsam (connect + authentifizierung ist relativ kostspielig)

also am besten beim Start der Anwendung eine SSH connection aufbauen, alles synchronisieren und diese in den application-scope legen

oder gezielt cachen

so wirklich gut ist die Idee IMHO nicht :)
 

joerg3011

Mitglied
und wenn ich dir jetzt noch sag, dass die Anwendung dem Configuration Management dienen soll und insgesamt sämtliche Konfigurationsdaten des Servers + sämtlicher Anwendungen auf 3 Windows- und ca. 10 Linux-Servern holen soll, kriegst du dann nen Lachkrampf? (zumal ich auch noch Programmieranfänger bin)
 

Bleiglanz

Gesperrter Benutzer
das wird auf jeden Fall happig, und ob der Ansatz mit SSH da das Richtige ist - da würd ich noch mal weiterüberlegen...

du musst dich ja dann wahrscheinlich als root auf den Servern einloggen? und dann mit ssh automatisch irgenwelche Kommandos absetzen? alles sehr desasteranfällig

typisches IT Projekt eben
 

Dukel

Top Contributor
Bleiglanz hat gesagt.:
das wird auf jeden Fall happig, und ob der Ansatz mit SSH da das Richtige ist - da würd ich noch mal weiterüberlegen...

du musst dich ja dann wahrscheinlich als root auf den Servern einloggen? und dann mit ssh automatisch irgenwelche Kommandos absetzen? alles sehr desasteranfällig

typisches IT Projekt eben

Deswegen gibts teure Konfigurationsmanagement Software zu kaufen.
Ist dann halt meist für eine bestimmte Software und man braucht dann wieder 10 verschiedene Programme.
 

joerg3011

Mitglied
@bleiglanz

na toll, jetzt bin ich mal total verunsichert, hast du mir vielleicht nen tip, wie ich das ganze angehen soll

kurz ne ausführlichere beschreibung:
das ganze soll dem konfigurationsmanagement dienen und zwar vorerst für 3 windows server und ca. 10 linux server (später kommen noch weitere hinzu). unsere abteilung hat nur beschränkten zugriff auf diese server, d.h. volle leserechte, welche befehle freigegeben sind, weiß ich jetzt auch nicht genau, normalerweise syncen wir nur updates über sudo-befehle.
die anwendung sollte wie folgt aussehen (bei nicht-machbarkeit auch variationen möglich):
nach start der anwendung eine übersicht über das netzwerk mit einer ampelschaltung, die auskunft gibt, ob anwendungsversionen auf den servern veraltet sind oder der plattenspeicher voll ist, desweiteren die möglichkeit mehrere details bzw. files des jeweiligen servers auszugeben wie z.b server.xml oder andere konfigurationsfiles der anwendungen. die ampelschaltung sollte eigentlich für alle server stets aktuell sein, deswegen sollten die daten hierfür beim start der anwendung geholt werden, die detailabfrage eines servers kann ohne probleme erst später erfolgen.

wenn das ganze über ssh schwer zu realisieren ist, wird es mit telnet wohl nicht besser sein, falls du (oder jemand anders) ne sinnvolle idee hätten, wie das ganze geschickter zu realisieren ist, wäre ich echt dankbar. wenn nicht, werde ich es mal mit ssh versuchen. ich danke auf jeden fall schon mal allen, die sich die mühe machen, sich darüber gedanken zu machen und @bleiglanz danke für den bisherigen support

gruß jörg
 

Bleiglanz

Gesperrter Benutzer
Echtes Problem sehe ich bei Echtzeit, das wird definitv übel. Dazu fällt mir nix gescheites ein, weil du ja Windows UND Linux server überwachen willst und dich dann "in Echtzeit" mit diesem Server verbinden musst und dort irgendwas abholen...


aber sagen wir 15 Minuten Latenzzeit ist erlaubt:

ich würde auf jedem der zu überwachenden Server billige Cron-Jobs bzw. Windows-Tasks einrichten, die alle 15 Minuten ALLE relevanten Dateien auf deinen "Monitoring" Server rsyncen oder kopieren (und ggf eine Text-Datei mit Statusinformationen mit rüberschicken du df free "ps auxf" etc)

und dann den ganzen Schrott gemütlich mit einer Webanwendung auswerten, die nur auf die Lokale Platte zugreifen muss

Gewisse Live Tests kann man ja immer über leere HTTP Anfragen (kommt 200) oder einen SocketConnect prüfen

BTW: warum server.xml? ein Tomcat oder andere J2EE Server im Einsatz? In dem Fall unbedingt JMX anschauen, damit wär eine echte "Remote" Kontrolle ohne grosses Trara möglich
 

joerg3011

Mitglied
hört sich mal alles nicht schlecht an, tomcats sind überall drauf, ich werd mich dann mal über jmx schlau machen, sagt mir nämlich gar nichts, genausowenig wie cron jobs

danke

gruß jörg
 

joerg3011

Mitglied
genial, danke!!!!!!!!!!
nur noch eine frage, wir haben teilweise noch tomcats 4.1.24 laufen, werden die auch noch unterstützt? wenn ich richtig gelesen hab, jmx ja, mc4j erst ab 4.1.29. java 1.4.2 dürfte ja kein problem sein, oder?

gruß jörg

edit: ok, habs mir glaub ich selber beantwortet (typische faulheit, erst fragen, dann selber schauen ;-) ), mit unseren standards nehm ich wohl einfach mx4j, ist im tomcat 4.1 implementiert.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
IngoF Unklarheiten bei Telnet Netzwerkprogrammierung 5
K Threads/Server/telnet Fehler Netzwerkprogrammierung 2
F Probleme mit Connection Reset bei Telnet Verbindung Netzwerkprogrammierung 1
A Socket Wie ein einfacher Multithreads Service mit Telnet als Client mit Observable/Observer gelöst.... Netzwerkprogrammierung 0
A telnet Abfrage Netzwerkprogrammierung 4
ruffio1978 Telnet über ein socket ansprechen Netzwerkprogrammierung 8
H TelNet Client Netzwerkprogrammierung 2
S SMTP Server per Telnet ansprechen Netzwerkprogrammierung 11
K Was wird genau per Telnet verschickt ? Netzwerkprogrammierung 5
O Telnet verbindung Netzwerkprogrammierung 4
N Verbindung zu Fritzbox Socket/Telnet ??? Netzwerkprogrammierung 5
G Socket Telnet Server Netzwerkprogrammierung 9
M Telnet-Server: Client-Eingabeverarbeitung Netzwerkprogrammierung 4
D Telnet-Klasse mit Hindernissen Netzwerkprogrammierung 2
ABstraCT Telnet port Zugriff problem (public IP) Netzwerkprogrammierung 12
M Java will Telnet nicht verstehen Netzwerkprogrammierung 7
lebenlechzer Login per Telnet auf Router Netzwerkprogrammierung 2
S Server - Telnet funktioniert, Server - Client nicht Netzwerkprogrammierung 3
C Java und Telnet Netzwerkprogrammierung 5
G Telnet Shh Verbindung Netzwerkprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben