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?
ciphers
ao invés decipher
.cipher
é para a versão 1 do protocolo ssh, que você nunca deve usar.Respostas:
sftp -o
aceitassh_option
( fonte ).ssh_config
diz naquelaCipher
é para o protocolo ssh v1 (que você nunca deve usar) eCiphers
é para o protocolo ssh v2.fonte
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
: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 :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 aoCiphers
diretiva (embora possa recorrer aoCipher
). Cite dossh
página man :fonte