O problema parece um bug do lado do servidor. Quando o cliente envia a lista de cifras, o servidor openssh provavelmente espera poder ler a lista em uma única chamada de sistema.
Se a lista de cifras suportadas for maior do que pode ser transmitida em um pacote, o servidor poderá receber menos bytes na primeira chamada do que o esperado. O comportamento correto no servidor seria executar outra chamada para obter o restante dos bytes. Mas a partir da descrição do problema, o servidor fecha a conexão quando não obtém a lista completa de cifras de uma só vez. Quando o próximo pacote do cliente chegar, o servidor enviará uma conexão redefinida para o cliente.
Configurar o cliente para usar uma lista menor de cifras, então, contornará o erro. O cliente openssh procurará a lista de cifras nos seguintes locais:
- Na linha de comando usando -c cipher_spec ou -o Ciphers = cipher_spec
- Em ~ / .ssh / config, especificando Cifras cipher_spec na seção do host relevante ou antes do primeiro host.
- Em / etc / ssh / ssh_config usando o mesmo formato de ~ / .ssh / config
- Uma lista padrão incorporada ao cliente em tempo de compilação.
Os dois arquivos de configuração são, respectivamente, configurações por usuário e por sistema. Usar Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
como Eric sugeriu deve funcionar bem.