write:errno=104
...
SSL handshake has read 0 bytes and written 305 bytes
Isso significa que
- a conexão TCP com o servidor foi bem-sucedida
- openssl s_client tentou iniciar o handshake TLS enviando o ClientHello
- o servidor ou alguma middlebox (firewall, balanceador de carga ...) causou um RST (errno 104 é
ECONNRESET
) da conexão TCP (provavelmente) como resposta ao ClientHello
É impossível dizer a partir dessas informações o que causou o RST e qual sistema o enviou. Mas pode-se tentar reduzi-lo com algumas experiências:
- Verifique se todos os 16.04.1 (trabalhando e não trabalhando) usam a mesma versão openssl. Chamar
openssl version
não é suficiente, já que o backport de distribuição muda para versões mais antigas e o número da versão não é alterado. Use em vez deopenssl version -a
e compare o tempo de compilação. Se não forem iguais, verifique se estão e teste novamente. - Verifique se você usa o mesmo endereço IP para o destino em todos os sistemas, ou seja, tente usar
s_client
com um IP de destino bom e conhecido. - Verifique se o servidor tem problemas com o endereço IP de origem encapsulando a conexão (por exemplo, com o OpenSSH) para que ele se origine de um sistema válido conhecido. Se você não tiver sorte, o endereço IP do seu sistema está em alguma lista negra devido às atividades do proprietário anterior.