¿Es posible agregar un cifrado para un cliente SFTP?

¿Es posible agregar un cifrado para un cliente SFTP?

Me encuentro con un problema en el que se actualizó un servidor a RHEL 6.5 y tenemos scripts automatizados en una instalación de RHEL 5.9 que se conecta a través de comandos sftp y ssh.

Ahora, el nuevo servidor sólo admite los cifrados aes128-ctr, aes192-ctr y aes256-ctr.

Pude actualizar los comandos ssh para usar la opción -c con aes256-ctr y esto funcionó:

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

Sin embargo, cuando intenté hacer el equivalente para sftp:

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

Recibo un error que indica que el cliente no admite los mismos cifrados que el servidor:

no se encontró ningún cifrado coincidente: cliente arcfour256,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc servidor aes128-ctr,aes192-ctr,aes256-ctr

Estos comandos ssh y sftp se ejecutan en el mismo cuadro RHEL 5.9, así que me pregunto por qué esto funciona para ssh y no para sftp.

Además, ¿cómo soluciono este problema para poder conectarme usando sftp sin ningún cambio en el lado del cliente?

Respuesta1

sftp -oacepta ssh_option(fuente).

ssh_config diceeso Cipheres para el protocolo ssh v1 (que nunca debes usar) y Cipherses para el protocolo ssh v2.

Respuesta2

La Cipherdirectiva es para SSH versión 1 (que no se utiliza hoy en día).

Para SSH versión 2, utilice Ciphers:

sftp -oCiphers=aes256-ctr

Verssh_configpágina de manual.


Aunque tenga en cuenta que también sftpadmite el -cinterruptor. Por lo tanto, no es necesario utilizar el archivo -o.

Ver elsftppágina de manual:

-c cipher

Selecciona el cifrado que se utilizará para cifrar las transferencias de datos.
Esta opción se pasa directamente assh(1).

La opción es compatible desdeAbiertoSSH 5.4. El cambio se disfraza de"Soporta la mayoría de los argumentos de la línea de comandos de scp(1) en sftp(1)".


Tenga en cuenta que el argumento de la línea de comandos -ces principalmente un equivalente a la Ciphersdirectiva (aunque puede recurrir a Cipher). Cita de lasshpágina de manual:

-c cipher_spec

Selecciona la especificación de cifrado para cifrar la sesión.
La versión 1 del protocolo permite la especificación de un único cifrado. Los valores admitidos son “3des”, “blowfish” y “des”. Para la versión 2 del protocolo, cipher_spechay una lista de cifrados separados por comas y ordenados por preferencia. Ver la Cipherspalabra clave enssh_config(5)para más información.

información relacionada