![Ist es möglich, eine Chiffre für einen SFTP-Client hinzuzufügen?](https://rvso.com/image/1451234/Ist%20es%20m%C3%B6glich%2C%20eine%20Chiffre%20f%C3%BCr%20einen%20SFTP-Client%20hinzuzuf%C3%BCgen%3F.png)
Ich stoße auf ein Problem, bei dem ein Server auf RHEL 6.5 aktualisiert wurde und wir über automatisierte Skripts auf einer RHEL 5.9-Installation verfügen, die eine Verbindung über SFTP- und SSH-Befehle herstellen.
Jetzt unterstützt der neue Server nur die Chiffren aes128-ctr, aes192-ctr und aes256-ctr.
Ich konnte die SSH-Befehle aktualisieren, um die Option -c mit aes256-ctr zu verwenden, und das hat funktioniert:
ssh -c aes256-ctr ${remote_host} ${my_command}
Als ich jedoch versuchte, dasselbe für SFTP zu tun:
sftp -oCipher=aes256-ctr ${remote_host} <<< $'get /home/me/* me/'
Ich erhalte die Fehlermeldung, dass der Client nicht dieselben Chiffren unterstützt wie der Server:
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 SSH- und SFTP-Befehle werden auf derselben RHEL 5.9-Box ausgeführt, daher frage ich mich, warum dies für SSH, aber nicht für SFTP funktioniert?
Und wie behebe ich das, sodass ich ohne Änderungen auf der Clientseite eine Verbindung per SFTP herstellen kann?
Antwort1
Antwort2
Die Cipher
Anweisung gilt für SSH Version 1 (die heutzutage nicht mehr verwendet wird).
Verwenden Sie für SSH Version 2 Ciphers
:
sftp -oCiphers=aes256-ctr
Sehenssh_config
manpage.
Beachten Sie jedoch, dass sftp
der Schalter ebenfalls unterstützt wird -c
. Es besteht also keine Notwendigkeit, den zu verwenden -o
.
Sehen Sie sich diesftp
manpage:
-c cipher
Wählt die Chiffre aus, die zum Verschlüsseln der Datenübertragungen verwendet werden soll.
Diese Option wird direkt anssh(1).
Die Option wird unterstützt seitOpenSSH 5.4Die Änderung wird getarnt als"Unterstützt die meisten Kommandozeilenargumente von scp(1) in sftp(1)".
Beachten Sie, dass das Kommandozeilenargument -c
in erster Linie ein Äquivalent zur Ciphers
Direktive ist (es kann aber auch auf die zurückgegriffen werden Cipher
). Zitat aus demssh
manpage:
-c cipher_spec
Wählt die Verschlüsselungsspezifikation für die Verschlüsselung der Sitzung aus.
Protokollversion 1 ermöglicht die Angabe einer einzelnen Verschlüsselung. Die unterstützten Werte sind „3des“, „blowfish“ und „des“. Für Protokollversion 2cipher_spec
ist dies eine durch Kommas getrennte Liste von Verschlüsselungen in der Reihenfolge ihrer Präferenz. Siehe dasCiphers
Schlüsselwort inssh_config(5)für mehr Informationen.