Kann eine Verschlüsselung für einen Sftp-Client hinzugefügt werden?

9998
Hazok

Ich habe ein Problem, bei dem ein Server auf RHEL 6.5 aktualisiert wurde, und wir haben Skripts für eine RHEL 5.9-Installation automatisiert, 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?

1
Sie können openssh aus dem Quellcode auf dem rhel 5.x-Rechner kompilieren, um Ihre Probleme zu lösen. vor 8 Jahren 0
Sie müssen "Chiffren" anstelle von "Chiffre" verwenden. `cipher` ist für das ssh-Protokoll Version 1, die Sie niemals verwenden sollten. vor 8 Jahren 0
Mögliches Duplikat von [Wie kann ich ein Problem mit der Chiffrierung von Chiffren mit sftp beheben?] (http://superuser.com/questions/918118/how-do-i-fix-a-cipher-mismatch-issue-with-sftp) Martin Prikryl vor 8 Jahren 0

2 Antworten auf die Frage

1
Z.T.

sftp -oakzeptiert ssh_option( Quelle ).

ssh_config sagt, dass dies Cipherfür das ssh-Protokoll v1 ist (das Sie niemals verwenden sollten) und Ciphersfür das ssh-Protokoll v2.

0
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 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) .