Wie behebe ich ein Chiffre-Mismatch-Problem mit sftp?


4

Ich stoße auf ein Problem, bei dem ein Server auf RHEL 6.5 aktualisiert wurde, und wir haben automatisierte Bash-Skripte für eine RHEL 5.9-Installation, die über sftp- und ssh-Befehle eine Verbindung herstellt.

Jetzt unterstützt der neue Server nur die Ziffern aes128-ctr, aes192-ctr und aes256-ctr.

Ich konnte die ssh-Befehle aktualisieren, um die Option -c mit aes256-ctr zu verwenden, und dies funktionierte:

ssh -c aes256-ctr ${remote_host} ${my_command}

Als ich jedoch versuchte, das Äquivalent für sftp zu tun:

sftp -oCipher=aes256-ctr ${remote_host} <<< $'get /home/me/* me/'

Ich erhalte die Fehlermeldung, dass der Client nicht dieselben Verschlüsselungen wie der Server unterstützt:

Keine passende Chiffre gefunden: Client arcfour256, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, arcfour, aes192-cbc, aes256-cbc Server aes128-ctr, aes192-ctr, aes256-ctr

Diese Befehle ssh und sftp werden auf derselben RHEL 5.9-Box ausgeführt. Ich frage mich, warum dies für ssh und nicht für sftp funktioniert.

Wie behebe ich das, damit ich eine Verbindung über SFTP ohne clientseitige Änderungen herstellen kann?


Antworten:


8

Die CipherDirektive gilt für SSH Version 1 (die derzeit nicht verwendet wird).

Verwenden Sie für SSH Version 2 Folgendes Ciphers:

sftp -oCiphers=aes256-ctr

Siehe die ssh_configManpage .


Beachten Sie jedoch, dass sftpder -cSchalter auch unterstützt. Es ist also nicht erforderlich, das zu verwenden -o.

Siehe die sftpManpage :

-c cipher

Wählt die Verschlüsselung aus, die zum Verschlüsseln der Datenübertragungen verwendet werden soll.
Diese Option wird direkt an ssh (1) übergeben .

Die Option wird seit OpenSSH 5.4 unterstützt . Die Änderung wird getarnt als "Unterstützt die meisten Kommandozeilenargumente von scp (1) in sftp (1) ".


Beachten Sie, dass das Befehlszeilenargument in -cerster Linie der CiphersDirektive entspricht (während es auf die zurückgreifen kann Cipher). Zitat aus der sshManpage :

-c cipher_spec

Wählt die Verschlüsselungsspezifikation zum Verschlüsseln der Sitzung aus.
Protokollversion 1 ermöglicht die Angabe einer einzelnen Chiffre. Die unterstützten Werte sind "3des", "blowfish" und "des". Bei Protokollversion 2 cipher_spechandelt es sich um eine durch Kommas getrennte Liste von Chiffren, die in der Reihenfolge ihrer Präferenz aufgeführt sind. Weitere Informationen finden Sie im CiphersSchlüsselwort in ssh_config (5) .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.