neatchee

Forum Replies Created

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • neatchee
    Participant

    I have now tried with 10 different freshly generated ED25519 keys. None of them worked.

    I have also tried with both importing the key into the connection file, and with reading from disk for all 10 freshly generated keys. None of them worked.

    Can you give me some guidance on exactly what base64 encoded values interfere with the XML parsing? If I know this, I might be able to repeatedly generate keys until I know I have one without the padding characters that interfere with XML parsing.

    As it stands, I can only conclude that that there is something very subtly different about the Android and Standalone Enterprise clients build process, despite using the same codebase, that is causing ED25519 keys to fail to read in these cases.

    neatchee
    Participant

    Hi Britgirl,

    No, I am NOT importing the key into the connection file. It is being read from disk at runtime.

    I have tried regenerating a new key with no luck. However, if it’s a matter of random luck regarding characters that interfere with encoding/decoding, I will try a few more times to see if it magically works eventually

    neatchee
    Participant

    Not sure why links were stripped from that post, but it should reference the following two URLs:

    !M ENTERPRISE CLIENT (STANDALONE) – https://www.nomachine.com/product&p=NoMachine%20Enterprise%20Client

    !M ANDROID CLIENT – https://play.google.com/store/apps/details?id=com.nomachine.nxplayer

    neatchee
    Participant

    This issue persists. The instructions provided by Steve92 do not resolve the problem.

    To reiterate the issue: ED25519 keys cannot be read by the standalone Enterprise Client or by the Android Client

    Detailed steps to reproduce the issue:

    1. Install !M Free Edition 8.14.2 server on a Windows 11 device
    2. Generate an ED25519 SSH key using any recent version of OpenSSH’s ssh-keygen
      ❯ ssh -V
      OpenSSH_for_Windows_9.5p1, LibreSSL 3.8.2
      ❯ ssh-keygen -t ed25519 -f ./testkeyfornomachine -C “TestKeyForNoMachine”
    3. Add the generated public key to the authorized.crt file on the Windows 11 device
      $env:USERPROFILE\.nx\config\authorized.crt
    4. On a separate Windows 11 device, install the
    5. Launch the !M standalone Enterprise Client v8.14.2 and add a ‘Machine’ for the Windows 11 host, setting authentication to use the generated ED25519 SSH private key
    6. Attempt to connect to the Windows 11 host from the Windows standalone enterprise client using the newly added ‘Machine’ entry
    7. On any Android device, install the !M Android client
    8. Launch the !M Android client and add a ‘Machine’ for the Windows 11 host, setting authentication to use the generated ED25519 SSH private key
    9. Attempt to connect to the Windows 11 host from the Android device using the newly added ‘Machine’ entry

    Expected results:
    Both the Windows standalone Enterprise client and the Android client are able to successfully connect to the Windows 11 host using the ED25519 SSH key

    Actual results:
    Both the Windows standalone Enterprise client and the Android client are not able to connect, showing “Authentication failed, please try again”. Inspecting client logs shows errors like:
    2024-12-08 16:32:02 278.476 Encryptor/Encryptable: ERROR! Failed to read private key.
    Error: Failed to read private key.

    Reproduction rate:
    5/5

    Notes:
    To reiterate, this issue does not happen with the server’s installation included client. This only happens for the standalone Enterprise Client and the Android Client

    neatchee
    Participant

    Sorry, I meant that it was in .nx/config; just didn’t type the entire thing out haha.

    While sanitizing logs before sending, I noted that the client logs showed that it was failing to load the ED25519 certificate with a decoder error.

    Further investigation down this track determined that the issue is limited specifically to the NoMachine Enterprise Client and does not occur when using the player that is bundled with the full NoMachine Server installation

    That is a sufficient solution for me at this time – it will at least allow me to sunset my RSA key – though I’d rather not have to install the full version on machines that do not need to be accessed remotely.

    Can you please try to reproduce this issue using the NoMachine Enterprise Client specifically on Windows?

    neatchee
    Participant

    Ugh, apologies for the terrible formatting. Apparently your forum software removes all linebreaks from text input when a filetype is rejected for upload.

    neatchee
    Participant

    I make a point not to embed my SSH keys in the connection file whenever possible. I have just tried importing the key anyway and received the same “Authentication Failed” result I’ve generated a fresh ED25519 key using the first commands listed above, added the pubkey to the “authorized.crt” file in %USERPROFILE%/.nx on the host Windows machine, and tried again. Same failure. I’ve removed the pubkey from authorized.crt and attached both the public and private key here. This keypair is not used anywhere else, and is only for the purpose of this troubleshooting process. The key password is “testme123.

    The only non-default configuration options in server.cfg are: NXTCPPort NXUDPPort EnablePasswordDB 0 AcceptedAuthenticationMethods NX-private-key Is there a way for me to get additional logging? Where can I see the reason for the authorization failure?

Viewing 7 posts - 1 through 7 (of 7 total)