Re: Komponente für SSH-Verbindung
Hallo daliuz,
dei Testprogramm funktioniert hier, aber hast du mal den Taskmanager offen gehabt während du das Programm laufen hattest? Das Programm verursacht ständig 100% last, auch wenn keine Ein-/Ausgaben gemacht werden. |
Re: Komponente für SSH-Verbindung
Hi,
Hast recht, ich frag in einer Schleife die Pipes ab. Is wirklich ne schlechte Idee! Ich versuch die Abfrage mal als Thread umzubauen. Zwar noch nie versucht, wird deswegen bestimmt etwas dauern. Damit kümmert sich windows um die Ressourcen. Vielleicht hat jemand eine andere bessere Idee? CU Daliuz |
Re: Komponente für SSH-Verbindung
Hi,
aber vorab erstmal vielen dank für die Arbeit der Komponente und das Veröffentlichen. Genau so ein Tool brauche ich um kurz ein paar Kommandos auf einem Gerät abzusetzen. Werde also das Testprogramm um ein Batch-Aufruf-Parameter erweitern, sodass es dann mit einem Script die Befehle abarbeitet.... Zum CPU Problem: habe einfach in plinkremote.pas in Zeile 204/205 nach dem Application.ProcessMessages ein sleep(1) eingebaut. Läuft einwandfrei unter XP mit Delphi 7 erzeugt. Gruß Sven |
Re: Komponente für SSH-Verbindung
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo
@bigdoggy Ich freue mich über dein Interesse und deine Mitarbeit! Wenn du es fertig hast kannst du es ja hier mit veröffentlichen. 1.Plink hat schon so einen Batch aufruf (auszug aus der Hilfe) Parameter: -m file read remote command(s) from file Aber hast recht, man kann das noch ordentlich einbauen. 2. zu sleep(1) Wenn du die Zeile
Delphi-Quellcode:
durch
while WaitForSingleObject(pi.hProcess, 0) <> Wait_Object_0 do
Delphi-Quellcode:
ersetzt, hast du den selben Effekt.(anstatt der 1ms kannst du auch noch höher gehen)
while WaitForSingleObject(pi.hProcess, 1) <> Wait_Object_0 do
Das heißt aber das der Rest von dem Programm nur alle millisekunde aufgerufen wird. Ich habe das mal mit Threads umgebaut, und es geht auch soweit. Du kannst es ja mal mit testen. Ich bin momentan auf einem Serviceeinsatz und habe leider keine Zeit. Ich hänge das File mal an. Es hat sich eine Kleinigkeit in den Aufrufen geändert.
Delphi-Quellcode:
heißt jetzt
do_stop_process
Delphi-Quellcode:
Ich habe auch noch sowas für sftp und scp geschrieben. Wenn Interesse besteht
disconnect
stelle ich das am Wochenende mit hierein. CU Daliuz |
Re: Komponente für SSH-Verbindung
Hi,
sensationell genau so etwas suche ich schon seit ewigen Zeiten. Ich habe die Komponente bereits im Einsatz und bereits vergebens versucht das von Dir bereitgestellte Testprogramm um die Beiden Features "Scroll Back / Copy and Paste" zu erweitern. Auf der Web Seite http://www.overbyte.be habe ich zwar einen EmulVT Sample Code mit den gewünschten Funktionen gefunden, leider war der Code jedoch nicht compelierbar und somit für mich mit meinem eingeschränkten Delphi Know How unbrauchbar. Hast Du vieleicht einen Tip wie man Scrollback, Copy and Paste auf einfache Art und Weise nachträglich implementieren kann um so einen wirklich vollwertigen ssh-client like "Putty" zu erhalten? Gruss Micha |
Re: Komponente für SSH-Verbindung
Hallo,
Ich nehme mal an du meinst "emulvtscroll.zip" von der ICS-seite. Leider habe ich das auf die Schnelle auch nicht zum Laufen gebracht. Es ist aber auch eine ziemlich alte Version 2.3. Die aktuelle Version ist bei 2.15. Meine Zeit ist leider momentan ziemlich dünn gesäht. Vielleicht kann dir da jemand im Forum ein bißchen unter die Arme greifen. Tut mir echt leid. Trotzdem danke fürs Interesse! Daliuz |
Re: Komponente für SSH-Verbindung
Hallo zusammen,
hab genau nach so etwas gesucht - vielen Dank, daliuz! Eine kleine Ergänzung: die Stringfunktion PosEx gibts erst ab Delphi7, deswegen muss man die nachbauen: function TPlinkremote.PosEx(const Substr: string; const S: string; Offset: Integer): Integer; begin if Offset <= 0 then Result := 0 else Result := Pos(Substr, Copy(S, Offset, Length(S))); if Result <> 0 then Result := Result + Offset - 1; end; Damit bringt man's auch in D6 zum Laufen. Was ich noch nicht gecheckt hab (geht das überhaupt): wie kann man sich anstelle mit Passwort auch mit nem Private Key authentifizieren? Das müsste ja so in der Art aussehen: Plinkremote1.exe_parameters :=' -ssh -i meinPrivaterKey.ppk -l hssp remoteserver.de'; Klappt leider nicht. Ist aber nicht so wild, kann das über User/PW machen. Also - vielen Dank! |
Re: Komponente für SSH-Verbindung
Hallo Baurat,
Da ich kein Delphi6 benutze ist mir das gar nicht aufgefallen...Danke für den Tip! Ich glaube nicht das man sich mit einem Schlüssel auf dem Server autentifizeren kann. Diese wird meines Wissens nur für die Verschlüsslung und zur Identifikation des Servers als rechtmäßiger Partner genutzt. Ist die SSH-Kommunikation aufgebaut, wird das Login und das PW abgefragt. Dies ist deine Identifikation auf dem Server mit den dazugehörigen Rechten auf den Console. Na denn, viel Spaß noch Daliuz |
Re: Komponente für SSH-Verbindung
Hallo, noch eine kleine frage...
Was mache ich wenn ich einen IPCop ansteuern will, wo der SSH Port auf 222 und nicht auf 22 liegt? Hab zwar schon geguckt, wo man den Port ändern kann, aber nix gefunden... Ich denke, dass ich einen Parameter anhängen muss, aber ich wüsste jetzt leider nicht welchen. Hat da jemand einen Rat? MFG |
Re: Komponente für SSH-Verbindung
Hallo,
beim "normalen" ssh ist das -D 222 Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz