Thread Net::SSH2 - LIBSSH2_ERROR_KEX_FAILURE Unable to exchange encryption keys (51 answers)
Opened by bianca at 2023-06-30 11:30

GwenDragon
 2023-06-30 16:48
#195063 #195063
User since
2005-01-17
14606 Artikel
Admin1
[Homepage]
user image
Ich hab mal kurz mein Debian 11.7-Linux mit Erdbeeren-Perl auf Win 11 getestet.
//EDIT:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
use strict;
use warnings;
use 5.010;

require Net::SSH2;
my %opts = (
        debug   => 1,
        trace   => -1,
);
say "Perl $^V;";
say Net::SSH2->version();
my $ssh2 = Net::SSH2->new(%opts);
$ssh2->connect('meinserver.tld') or die join(' / ',$ssh2->error);


Läuft dann so:
Code: (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
26
27
28
29
30
T:\>perldev 5.20
--------------------------------------------------
5.020003 @ C:\strawberry\perl\bin\perl.exe
--------------------------------------------------
Perl 5.20 T:\>perl a.pl
Perl v5.20.3;
1.4.366563SSH-2.0-libssh2_1.4.3
-5 / LIBSSH2_ERROR_KEX_FAILURE / Unable to exchange encryption keys at a.pl line 14.

Perl 5.20 T:\>exit

T:\>perldev 5.22
--------------------------------------------------
5.022003 @ C:\strawberry\perl\bin\perl.exe
--------------------------------------------------
Perl 5.22 T:\>perl a.pl
Perl v5.22.3;
1.5.066816SSH-2.0-libssh2_1.5.0
-5 / LIBSSH2_ERROR_KEX_FAILURE / Unable to exchange encryption keys at a.pl line 14.

Perl 5.22 T:\>exit

T:\>perldev 5.24
--------------------------------------------------
5.024004 @ C:\strawberry\perl\bin\perl.exe
--------------------------------------------------
Perl 5.24 T:\>perl a.pl
Perl v5.24.4;
1.7.067328SSH-2.0-libssh2_1.7.0
Net::SSH2::DESTROY object 0x2e91e3c


Bianca, wie alt der Server deines Hosters ist, weiß ich nicht, oder wo der da Algroithmen einschränkt.

Aktuelle Strawberry-Perl 5.36/38 RC haben libssh2 1.10.
Code: (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
26
27
28
29
30
31
32
T:\>perldev 5.32
--------------------------------------------------
5.032001 @ C:\strawberry\perl\bin\perl.exe
--------------------------------------------------
Perl 5.32 T:\>perl a.pl
Perl v5.32.1;
1.8.267586SSH-2.0-libssh2_1.8.2
Net::SSH2::DESTROY object 0x2c46774

Perl 5.32 T:\>exit

T:\>perldev 5.36
--------------------------------------------------
5.036001 @ C:\strawberry\perl\bin\perl.exe
--------------------------------------------------
Perl 5.36 T:\>perl a.pl
Perl v5.36.1;
1.10.068096SSH-2.0-libssh2_1.10.0
Net::SSH2::DESTROY object 0x1a5b9520

Perl 5.36 T:\>exit

T:\>perldev 5.38
--------------------------------------------------
5.038000 @ C:\strawberry\perl\bin\perl.exe
--------------------------------------------------
Perl 5.38 T:\>perl a.pl
Perl v5.38.0;
1.10.068096SSH-2.0-libssh2_1.10.0
Net::SSH2::DESTROY object 0x2d705de0

Perl 5.38 T:\>exit


//EDIT:
So wie ich manche Server kenne, haben die aktuell Ubuntu 22 mit libssh 1.10.
Und dein Perl hat ja noch libssh2 1.8, zu alt, um korrekt zu verbinden.
Last edited: 2023-07-01 13:18:44 +0200 (CEST)

View full thread Net::SSH2 - LIBSSH2_ERROR_KEX_FAILURE Unable to exchange encryption keys