Thread per SSH zwei Kommandos ausführen
(22 answers)
Opened by bianca at 2020-08-02 13:30
Ich habe etwas getestet, kann Dein Problem aber nicht nachvollziehen.
Auf meinem Windows 7 habe ich ein Strawberry 5.20.1 verfügbar und damit getestet. "Sprechendere" Debugausgaben, wie ich sie erhofft hatte, habe ich auch nicht hinbekommen, damit bleiben leider die Hintergründe der Fehlermeldung verborgen. Zu einer Quelltextanalyse konnte ich mich nicht durchringen. Meine Test-Umgebung: Folgendes Skript funktionierte bei mir: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #! /usr/bin/perl use strict; use warnings; use 5.020; require Net::SSH2; my %opts = ( debug => 1, trace => -1, ); warn "Net::SSH2 Version: ", Net::SSH2->VERSION, "\n"; my $ssh2 = Net::SSH2->new(%opts); $ssh2->connect('sshserver') or die $ssh2->error(); $ssh2->auth_keyboard( 'benutzer', 'passwort', ) or die $ssh2->error(); my $chan = $ssh2->channel() or die $ssh2->error(); $chan->exec('ls'); print while <$chan>; print "EXIT CODE: ", $chan->exit_status, "\n"; Ich denke, ein Upgrade auf eine aktuellere Strawberry Perl Version würde hier wohl Sinn ergeben. Damit käme auch gleich ein Update der Net:SSH2 Version mit. Vielleicht geht auch eine Parallel-Installation einer zweiten Version. Ich verwende Perl auf Windows sehr wenig und selten, kann hier daher dazu nicht beraten. Alternativ könnte man evtl. am Server: - den Debug-Level des SSHD-Servers erhöhen und das Debug-logging dort untersuchen - Wenn meine Vermutung korrekt, evtl. am Server kontrollieren, welche Algorithmen erlaubt und welche verboten sind, und ggfs. einige der verbotenen wieder erlauben. - Eine Aussagekräftigeres Debug-Log würde dabei helfen, die notwendigen Algorithmen zu finden meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |