Wie kann ich ein Problem mit der Chiffrierung von Chiffren mit sftp beheben?

17121
Hazok

Ich habe 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.

Nun unterstützt der neue Server nur die Verschlüsselungscodes aes128-ctr, aes192-ctr und aes256-ctr.

Ich konnte die SSH-Befehle aktualisieren, um die Option -c mit aes256-ctr zu verwenden. Dies funktionierte:

ssh -c aes256-ctr $ $ 

Wenn ich jedoch versucht habe, das Äquivalent für sftp auszuführen:

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

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

Es wurde 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 kann ich dieses Problem beheben, damit ich mich mit Sftp verbinden kann, ohne Änderungen am Client vornehmen zu müssen?

3
Crosspost: https://security.stackexchange.com/questions/89747/isit-possible-to-add-a-cipher-for-an-sftp-client StackzOfZtuff vor 9 Jahren 1

1 Antwort auf die Frage

7
Martin Prikryl

Die CipherDirektive bezieht sich auf die SSH-Version 1 (die heutzutage nicht verwendet wird).

Verwenden Sie für SSH Version 2 die Ciphers:

sftp -oCiphers=aes256-ctr 

Siehe die ssh_configManpage .


Beachten Sie jedoch, dass sftpder -cSwitch auch den Switch unterstützt . Es besteht also keine Notwendigkeit, die -o.

Siehe die sftpManpage :

-c cipher

Wählt die Verschlüsselung für die Verschlüsselung der Datenübertragung aus.
Diese Option wird direkt an ssh (1) übergeben .

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


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 der Protokollversion 2 cipher_spechandelt es sich um eine durch Kommas getrennte Liste von Chiffren, die in der bevorzugten Reihenfolge aufgeführt sind. Weitere Informationen finden Sie unter dem CiphersSchlüsselwort in ssh_config (5) .