É possível adicionar uma cifra para um cliente sftp?

1

Estou correndo para um problema em que um servidor foi atualizado para o RHEL 6.5 e temos scripts automatizados em uma instalação do RHEL 5.9 que se conecta por meio dos comandos sftp e ssh.

Agora, o novo servidor suporta apenas as cifras aes128-ctr, aes192-ctr e aes256-ctr.

Consegui atualizar os comandos ssh para usar a opção -c com o aes256-ctr e isso funcionou:

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

No entanto, quando tentei fazer o equivalente para o sftp:

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

Estou recebendo um erro que o cliente não suporta as mesmas cifras como o servidor:

nenhuma cifra correspondente encontrada: cliente   arcfour256, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, arcfour, aes192-cbc, aes256-cbc   servidor aes128-ctr, aes192-ctr, aes256-ctr

Esses comandos ssh e sftp são executados na mesma caixa RHEL 5.9, então estou me perguntando por que isso funciona para ssh e não para sftp?

Além disso, como corrigir isso para que eu possa conectar usando o sftp sem nenhuma alteração no lado do cliente?

Hazok
fonte
você pode compilar o openssh a partir da fonte na máquina rhel 5.x, que resolveria seus problemas.
você precisa usar ciphers ao invés de cipher. cipher é para a versão 1 do protocolo ssh, que você nunca deve usar.

Respostas:

2

sftp -o aceita ssh_option ( fonte ).

ssh_config diz naquela Cipher é para o protocolo ssh v1 (que você nunca deve usar) e Ciphers é para o protocolo ssh v2.

Z.T.
fonte
1

o Cipher diretiva é para a versão 1 do SSH (que não está em uso atualmente).

Para a versão 2 do SSH, use o Ciphers:

sftp -oCiphers=aes256-ctr

Vejo ssh_config página man .


Embora note que o sftp suporta o -c mudar também. Portanto, não há necessidade de usar o -o.

Veja o sftp página man :

-c cipher

Seleciona a cifra a ser usada para criptografar as transferências de dados.
Esta opção é passada diretamente para ssh (1) .

A opção é suportada desde OpenSSH 5.4 . A mudança é disfarçada como "Suporta a maioria dos argumentos de linha de comando de scp (1) no sftp (1) ".


Observe o argumento da linha de comando -c é basicamente um equivalente ao Ciphers diretiva (embora possa recorrer ao Cipher ). Cite do ssh página man :

-c cipher_spec

Seleciona a especificação de criptografia para criptografar a sessão.
A versão 1 do protocolo permite a especificação de uma única cifra. Os valores suportados são “3des”, “blowfish” e “des”. Para o protocolo   versão 2, cipher_spec é uma lista separada por vírgula de cifras listadas   ordem de preferência. Veja o Ciphers palavra-chave em ssh_config (5) para mais   em formação.

Martin Prikryl
fonte