# Verbindung auf Unix-Server



## Flyer (18. Aug 2004)

hi

habe eine frage! ich muss mit java ein applet schreiben, dass eine verbindung auf einen unix-server herstellt und auf dem unix-server zum beispiel den befehl "ls" ausführt!
wie mache ich das?

Gruss Flyer


----------



## thE_29 (18. Aug 2004)

mh, telnet verbindung könntest machen und dann ls Befehl!

Könntest alles mit 
Process proc = Runtime.getRuntime().exec("telnet IP USWER PW");
dann holst dir einen input und outputstream von proc und schickst (schreibst) den Befehl ls und liest in wieder ein! Vielleicht den ErrorStream auch noch machen!


Und vielleicht gibts ja eine TelnetClient Verbindung (es gibt ja FtpCLient) musst im package sun.net. schauen (findet man kaum in einer API) oder du nimmst ein sonstiges TelnetPackage (google)! sun.net. ist halt immer dabei


----------



## Grizzly (18. Aug 2004)

thE_29 hat gesagt.:
			
		

> [...]
> Könntest alles mit
> Process proc = Runtime.getRuntime().exec("telnet IP USWER PW");[...]



In dem Fall müsste das Applet aber die Rechte zum Starten lokaler Programme haben. Wenn würde ich eine Bibliothek verwenden, die das direkt - ohne ein weiteres Programm - erledigt. Und noch besser wäre es dann natürlich noch statt Telnet eine SSH Verbindung aufzubauen.


----------



## Flyer (18. Aug 2004)

Danke für eure antwort

lokale Programm geht zum starten. Telnet hab ich auf meinem PC! werde es also einmal versuchen!!
Hoffe es klappt 

Gruss Flyer


----------



## Guest (18. Aug 2004)

thE_29 hat gesagt.:
			
		

> Process proc = Runtime.getRuntime().exec("telnet IP USWER PW");



bei mir gehts nicht...verbindung stellts her...aber der username und das password geben ein problem! es fügt sie nicht ein!

_edited by thE_29: quote Tag entfernt_


----------



## thE_29 (18. Aug 2004)

also es geht nur

telnet -l username IP

pw musst danach dem writer übergeben!

oder einfach telnet IP 
und username und pw dem writer (von proc holen) übergeben


----------



## Flyer (18. Aug 2004)

das heisst ich könnte es so machen ... was ist daran noch falsch...es funzt immer noch nicht 

```
Process process = Runtime.getRuntime().exec("telnet ip username");
ops = process.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(ops);
osw.write("pw");
```


----------



## thE_29 (18. Aug 2004)

siehst du nicht was ich gepostet habe?

telnet -l username IP

ist 100%ig nicht telnet ip username

mach das was ich schreibe


----------



## Flyer (18. Aug 2004)

das heisst dann so:

```
Process process = Runtime.getRuntime().exec("telnet -| username ip");ops = process.getOutputStream();OutputStreamWriter osw = 
new OutputStreamWriter(ops);osw.write("pw");
```

funzt aber trotzdem nicht bei mir!


----------



## thE_29 (18. Aug 2004)

ich hoffe das das ein l ([EL] wie bei Ludwig ) ist und keine PIPE | !

du könntest auch telnet /? machen und dir ausgeben lassen, welche parameter es gibt


----------



## Flyer (18. Aug 2004)

ist es!

aber wenn ich es so schreibe will es -l als hostname nehmen!


----------



## thE_29 (18. Aug 2004)

mach mal telnet /? und dann schau was dort steht 

wer weiß was du für ne version von dem teil hast (obwohl das eigentlich immer gleich ist)

ansonsten mach es einfach so (telnet IP)
dann username
dann pw
dann cd wohin
dann ls


----------



## Gast (18. Aug 2004)

wo muss ich das telnet /? eingeben?


----------



## thE_29 (18. Aug 2004)

in der shell?

shell unter windows = DOS (ausführen -> cmd/command)

oder in Linux = Konsole (alt+f2 -> konsole, oder terminal finden und draufklicken )


PS.: Weißt du überhaupt was du tust  ? Oder bist du schon ohne DOS aufgewachsen?


----------



## Gast (18. Aug 2004)

nö
aber wenn ich das im dos eingebe will er tellnet aufmachen und gibt einen fehler weil er mein das /? sei der host


----------



## thE_29 (18. Aug 2004)

aha, also bei mir gehts 

welches OS hast du?


----------



## Flyer (18. Aug 2004)

Windows NT

aber Telnet ist Version 4


----------

