Delphi-PRAXiS
Seite 2 von 6     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Komponente für SSH-Verbindung (https://www.delphipraxis.net/70989-komponente-fuer-ssh-verbindung.html)

dfried 9. Jun 2006 07:30

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.

daliuz 9. Jun 2006 13:06

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

bigdoggy 16. Jun 2006 12:38

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

daliuz 23. Jun 2006 07:18

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:
while WaitForSingleObject(pi.hProcess, 0) <> Wait_Object_0 do
durch
Delphi-Quellcode:
while WaitForSingleObject(pi.hProcess, 1) <> Wait_Object_0 do
ersetzt, hast du den selben Effekt.(anstatt der 1ms kannst du auch noch höher gehen)
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:
do_stop_process
heißt jetzt
Delphi-Quellcode:
disconnect
Ich habe auch noch sowas für sftp und scp geschrieben. Wenn Interesse besteht
stelle ich das am Wochenende mit hierein.

CU
Daliuz

mwegner 26. Jun 2006 17:01

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

daliuz 27. Jun 2006 05:09

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

baurat 21. Jan 2007 15:23

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!

daliuz 22. Jan 2007 13:23

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

delphis spassbremse 5. Jun 2007 16:51

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

hoika 5. Jun 2007 17:27

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.
Seite 2 von 6     12 34     Letzte »    

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