Skip to content

SSH connection stucked with NET::SSH_7.0.1 and OpenSSH_8.0 with FIPS enabled #7353

@silkPK

Description

@silkPK

Environment Information

Provide at least:

  • JRuby version 9.3.4.0
  • Operating system and platform : Linux Gentoo 4.0.2 x86_64 AMD EPYC 7551P 32-Core

Other relevant info you may wish to add:

  • NET-SSH 7.0.1
  • NET-SFTP 3.0.0

Expected Behavior

  • Net::SSH.start should be able connect to an OpenSSH_8 server with FIPS enabled without block in "exchanging keys" phase. Server close the connection for timeout.

Actual Behavior

  • 09/09/22 07:17:36 INFO - RemoteFileManager.rb:138:in addFile' -- Upload file xxxx.xxx ... 09/09/22 07:17:36 INFO - RemoteFileManager.rb:183:in upload' -- connect to x.x.x.x with SFTP
    D, [2022-09-09T07:17:36.659460 #18302] DEBUG -- net.ssh.transport.session[fa8]: establishing connection to x.x.x.x:22
    D, [2022-09-09T07:17:36.718615 #18302] DEBUG -- net.ssh.transport.session[fa8]: connection established
    I, [2022-09-09T07:17:36.720074 #18302] INFO -- net.ssh.transport.server_version[fac]: negotiating protocol version
    D, [2022-09-09T07:17:36.720363 #18302] DEBUG -- net.ssh.transport.server_version[fac]: local is SSH-2.0-Ruby/Net::SSH_7.0.1 java' D, [2022-09-09T07:17:36.791595 #18302] DEBUG -- net.ssh.transport.server_version[fac]: remote is SSH-2.0-OpenSSH_8.0'
    W, [2022-09-09T07:17:36.795580 #18302] WARN -- net.ssh.transport.algorithms[fb0]: unsupported algorithm: ["ecdsa-sha2-nistp521-cert-v01@openssh.com", "ecdsa-sha2-nistp384-cert-v01@openssh.com", "ecdsa-sha2-nistp256-cert-v01@openssh.com", "ecdsa-sha2-nistp521", "ecdsa-sha2-nistp384", "ecdsa-sha2-nistp256"]' W, [2022-09-09T07:17:36.796216 #18302] WARN -- net.ssh.transport.algorithms[fb0]: unsupported algorithm: ["ecdh-sha2-nistp521", "ecdh-sha2-nistp384", "ecdh-sha2-nistp256"]'
    I, [2022-09-09T07:17:36.818335 #18302] INFO -- net.ssh.transport.algorithms[fb0]: sending KEXINIT
    D, [2022-09-09T07:17:36.822976 #18302] DEBUG -- socket[fb4]: queueing packet nr 0 type 20 len 564
    D, [2022-09-09T07:17:36.824360 #18302] DEBUG -- socket[fb4]: sent 568 bytes
    D, [2022-09-09T07:17:36.828416 #18302] DEBUG -- socket[fb4]: read 768 bytes
    D, [2022-09-09T07:17:36.829613 #18302] DEBUG -- socket[fb4]: received packet nr 0 type 20 len 764
    I, [2022-09-09T07:17:36.830798 #18302] INFO -- net.ssh.transport.algorithms[fb0]: got KEXINIT from server
    I, [2022-09-09T07:17:36.831990 #18302] INFO -- net.ssh.transport.algorithms[fb0]: negotiating algorithms
    D, [2022-09-09T07:17:36.833459 #18302] DEBUG -- net.ssh.transport.algorithms[fb0]: negotiated:
  • kex: diffie-hellman-group-exchange-sha256
  • host_key: rsa-sha2-256
  • encryption_server: aes256-ctr
  • encryption_client: aes256-ctr
  • hmac_client: hmac-sha2-512-etm@openssh.com
  • hmac_server: hmac-sha2-512-etm@openssh.com
  • compression_client: none
  • compression_server: none
  • language_client:
  • language_server:
    D, [2022-09-09T07:17:36.835608 #18302] DEBUG -- net.ssh.transport.algorithms[fb0]: exchanging keys
    D, [2022-09-09T07:17:36.865933 #18302] DEBUG -- socket[fb4]: queueing packet nr 1 type 34 len 20
    D, [2022-09-09T07:17:36.866569 #18302] DEBUG -- socket[fb4]: sent 24 bytes
    D, [2022-09-09T07:17:36.914643 #18302] DEBUG -- socket[fb4]: read 1048 bytes
    D, [2022-09-09T07:17:36.915552 #18302] DEBUG -- socket[fb4]: received packet nr 1 type 31 len 1044
    log writing failed. execution expired
    D, [2022-09-09T07:22:33.614947 #18302] DEBUG -- socket[fb4]: sent 1040 bytes
    D, [2022-09-09T07:22:33.615616 #18302] DEBUG -- socket[fb4]: read 0 bytes
    09/09/22 07:22:33 ERROR - RemoteFileManager.rb:147:in `addFile' -- #<Net::SSH::Disconnect: connection closed by remote host>

using MRI 2.6 and the same version of net-ssh I am able to connect to the same server without error.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions