1 2 3 4 5 6 7 8 9 10 11 12
#!/usr/bin/perl use strict; use warnings; use 5.010; require Net::SSH2; my %opts = ( debug => 1, trace => -1, ); my $ssh2 = Net::SSH2->new(%opts); $ssh2->connect('ssh server adr') or die join(' / ',$ssh2->error);
Quote-5 / LIBSSH2_ERROR_KEX_FAILURE / Unable to exchange encryption keys at test_ssh2.pl line 12.
Net::SSH2::DESTROY object 0x2c14798
2023-06-30T09:37:32 rostiserverseitige Datei authorized_keys
2023-06-30T13:09:21 GwenDragon
2023-06-30T13:09:21 GwenDragon
2023-06-30T10:10:23 biancaIch muss noch ergänzen, dass die Verbindung mittels PuTTY fehlerfrei zustande kommt.
2023-06-30T11:05:25 rostiDa wäre jetzt die Frage ob das per Schlüsselaustausch funktioniert oder ob Du da jedesmal Dein Passwort neu eintippst.
2023-06-30T11:26:40 bianca2023-06-30T11:05:25 rostiDa wäre jetzt die Frage ob das per Schlüsselaustausch funktioniert oder ob Du da jedesmal Dein Passwort neu eintippst.
Muss das PW eintippen.
2023-06-30T12:37:35 rostiden Schlüsselaustausch über PuttY (siehe KeyGen) einrichten
2023-07-01T09:46:04 rostiFür Net::SSH2 muß lokal die libssh2 installiert sein und dann wäre noch die Frage ob SSH2 serverseitig unterstützt wird was Dir Dein Provider sicher sagen kann.
Quote?serverseitig unterstützt
2023-06-30T10:10:23 biancaIch muss noch ergänzen, dass die Verbindung mittels PuTTY fehlerfrei zustande kommt.
2023-07-02T18:39:39 rostiSSH1 oder SSH2?
Quote2023-07-03 07:48:09 We claim version: SSH-2.0-PuTTY_Release_0.78
plink.exe user@remotehost "command ..."
Quote-no-antispoof omit anti-spoofing prompt after authentication
2023-06-30T10:39:44 Linuxermit dem putty-Tool plink.exe durchführen lassen.
2023-06-30T10:39:44 LinuxerIm Skripting ist bei plink.exe gerade die Option -no-antispoof wichtig.
QuoteThe host key is not cached for this server: xyz . server . tld (port 22)
You have no guarantee that the server is the computer you think it is. The server's xyz key fingerprint is:
xyz 255 SHA256:giizgzizgizgig7zv674g75fuz
If you trust this host, enter "y" to add the key to Plink's cache and carry on connecting.
If you want to carry on connecting just once, without adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the connection.
Store key in cache? (y/n, Return cancels connection, i for more info)
QuoteWARNING - POTENTIAL SECURITY BREACH!
The host key does not match the one Plink has cached for
this server: xyz . server . tld (port 22)
This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server.
The new xyz key fingerprint is: xyz 255 SHA256:ihvihvuvugv6556gvzu
Connection abandoned.
FATAL ERROR: Cannot confirm a host key in batch mode
2023-07-01T16:11:42 LinuxerWenn Du die Frage mit Y beantwortest, wird der Hostkey im Cache gespeichert und danach taucht diese Abfrage gar nicht mehr auf. Erst wenn der Hostkey sich ändert, kommt es wieder zu Meldungen, dass der Hostkey nicht (mehr) passt.
2023-06-30T14:02:17 GwenDragonPrüf doch mal SSH keys/protocol/exchange auf https://sshcheck.com/
2023-06-30T14:21:58 GwenDragondass libssh2 oder das Perl PC oder Server, wer weiß) irgendwie veraltet ist oder manche Algorithmen nicht mehr passen.
2023-07-01T09:26:24 GwenDragonSSH-Client auf Windows? Gibt es auch als OpenSSH-Client: https://learn.microsoft.com/en-us/windows-server/a...
2023-07-01T09:26:24 GwenDragonSchreib halt mal den Modulersteller auf https://github.com/rkitover/net-ssh2/issues an.
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);
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
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
2023-06-30T14:48:03 GwenDragonIch hab mal kurz mein Debian 11.7-Linux mit Erdbeeren-Perl auf Win 11 getestet.
2023-06-30T14:48:03 GwenDragonBianca, wie alt der Server deines Hosters ist, weiß ich nicht, oder wo der da Algroithmen einschränkt.
2023-06-30T14:48:03 GwenDragonUnd dein Perl hat ja noch libssh2 1.8, zu alt, um korrekt zu verbinden.
2023-07-01T11:54:13 GwenDragonmusst da eine neuere Perl-Version nehmen
2023-07-02T16:06:44 GwenDragonTested doch mal dev_5.36.1_20230609_gcc13, als Zip kannste die ja entpacken. Und die hat eine neue libssh2 v1.10.
2023-07-01T12:15:45 GwenDragonMicorsofts ssh kann auch was.
ssh -vv username@servername sollte dir beim connect anzeigen, welche Chiffren benutzt werden und ausgehandelt werden.
Quote...
The following options only apply to SSH connections:
-pwfile file login with password read from specified file
...
2023-07-02T11:02:50 LinuxerDafür gibt es den Mechanismus mit SSH-Keys, die man in einen "Agenten" laden kann, und dann kann man für die SSH-Verbindung den Agenten nutzen und die Anmeldung darüber abhandeln lassen.
2023-07-02T11:02:50 LinuxerQuote...
The following options only apply to SSH connections:
-pwfile file login with password read from specified file
...
2023-07-02T11:02:50 LinuxerDafür gibt es den Mechanismus mit SSH-Keys, die man in einen "Agenten" laden kann, und dann kann man für die SSH-Verbindung den Agenten nutzen und die Anmeldung darüber abhandeln lassen.
2023-07-05T10:27:00 LinuxerDer verwendete Client muss die Nutzung dieses Agenten natürlich auch unterstützen.
2023-07-05T10:27:00 LinuxerMein Gedanke dazu bezog sich nur auf die Putty-Programme (da funktioniert das, habe ich selber so im Einsatz), nicht auf die Perl-Module.
2023-07-05T10:27:00 LinuxerWenn das mit den Putty Programmen bei Dir nicht funktionierte, kann ich mangels Informationen auch nicht mehr dazu sagen.
QuoteNet::SSH::Perl is an all-Perl module implementing an SSH (Secure Shell) client. It is compatible with both the SSH-1 and SSH-2 protocols.