Você está confundindo os clientes de dois protocolos completamente diferentes.
A ferramenta openssl s_client
é puramente um cliente TLS (SSL) ; é capaz de descascar a camada TLS que HAproxy ou stunnel podem adicionar. Uma vez feito isso, no entanto, ele simplesmente transfere dados arbitrários de uma ponta a outra. O prompt que você está vendo é o handshake SSH inicial e o servidor espera que você responda a ele; portanto, você ainda precisa executar um programa como ssh
que falaria o protocolo SSH na parte superior do túnel TLS.
Normalmente, ssh
conecta-se ao servidor diretamente no TCP, mas você pode usar a opção ProxyCommand
para passar por outro programa:
ssh -o ProxyCommand="openssl s_client -connect localhost:7000 -quiet" dummyname
Se você tiver um par de chaves SSH, precisará especificá-lo como opção para ssh
:
ssh -i ~/.ssh/id_workplace -o ProxyCommand.....
(Não precisa disso para ~/.ssh/id_rsa
- ele é usado por padrão.)
As opções s_client -cert
e -key
são, obviamente, para autenticar no servidor TLS. No entanto, eles precisam de um certificado X.509 completo como "-cert"; apenas a chave pública não é suficiente, como seria para o SSH.