SSHはTLSを使用していますか?

Aug 27 2020

脆弱性スキャンで、TLSが原因でsshdが脆弱であると報告されているという奇妙なケースがあります。SSHがTLSを使用しているとは思わなかったので、「openssl s_client -connect hostname:22 -tls1」がSSHがTLS接続を受け入れていることを示している理由を誰かが説明できますか?

例えば:

$ openssl s_client -connect myhost:22 -tls1
CONNECTED(00000004)
140300455982912:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:ssl/record/ssl3_record.c:332:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 5 bytes and written 104 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1
    Cipher    : 0000
    Session-ID:
    Session-ID-ctx:
    Master-Key:
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1598564402
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
---

前もって感謝します!

回答

3 multithr3at3d Aug 27 2020 at 23:23

いいえ、SSHはTLSを使用しません。これは、使用して、独自のプロトコルの暗号化を提供します。

出力の2行目に注意してください。

140300455982912:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:ssl/record/ssl3_record.c:332

これは致命的なエラーのように見えるため、追加の出力はおそらくデバッグに関連しています。