curl/.github/workflows
Viktor Szakats 89f306ae40
runtests: fix test key format for libssh2 WinCNG (and others)
SFTP/SCP tests were failing in CI with WinCNG libssh2 since we first
added such job. With `curl: (67) Authentication failure`.

The reason is that the default `ssh-keygen` RSA private key format
changed to OpenSSH (RFC4716) in 2018. libssh2 does not support this
format with some of its crypto backends.

Fix it by generating keys explicitly in PEM format as necessary via
the `-m` option. This format is universally recognized for RSA keys.

2018-08-24: https://www.openssh.com/txt/release-7.8: OpenSSH format becomes default
2010-08-23: https://www.openssh.com/txt/release-5.6: `-m` option first supported

This fixed the auth issue, just to reveal a known flakiness issue in
libssh2 + WinCNG, causing:
```
curl: (2) Failure establishing ssh session: -8, Unable to exchange encryption keys
```
Ref: https://github.com/curl/curl/actions/runs/14000494428/job/39205633258?pr=16781#step:15:1796
Tracked here: https://github.com/libssh2/libssh2/issues/804
Mitigated in libssh2 tests by retrying them.

Due to this, keep ignoring these test results.

Also:
- add an env to customize key format: `CURL_TEST_SSH_KEY_FORMAT`
- display the generated format in the log.
- GHA/linux: document the wolfSSH error code causing it to fail tests:
  ```
  curl: (79) wolfssh SFTP connect error -1051 / WS_MATCH_KEY_ALGO_E / cannot match key algo with peer
  ```

Follow-up to 4911e7af11 #16735
Follow-up to 0ec72c1ef8 #16672
Follow-up to e53523fef0 #14859
Follow-up to e26cbe20cb #13979

Closes #16781
2025-03-23 20:26:26 +01:00
..
appveyor-status.yml GHA: add yamlcheck 2024-08-23 18:42:55 +02:00
checkdocs.yml GHA: spellcheck curl symbols better 2025-02-27 13:15:21 +01:00
checksrc.yml GHA: tidy up apt commands 2025-01-30 02:36:43 +01:00
configure-vs-cmake.yml cmake: fix HAVE_GETHOSTBYNAME_R_* detections with CURL_WERROR=ON 2025-02-10 12:54:11 +01:00
curl-for-win.yml GHA/curl-for-win: drop nolibgroup option, upstream default now 2025-02-06 23:43:09 +01:00
distcheck.yml GHA: update actions/download-artifact digest to cc20338 2025-03-03 08:59:40 +01:00
fuzz.yml CI: move Azure jobs to GHA, fix fallouts, sshserver, runtests tweaks 2024-09-16 10:00:17 +02:00
hacktoberfest-accepted.yml GHA: set persist-credentials: false 2024-12-16 18:00:22 +01:00
http3-linux.yml GHA: update dependency cloudflare/quiche to v0.23.4 2025-03-08 12:19:12 +01:00
label.yml GHA: tidy up quotes, checkout order, silence Android/CMake warnings 2025-01-19 15:03:16 +01:00
linux-old.yml libssh: drop support for libssh older than 0.9.0 2025-02-06 22:27:13 +01:00
linux.yml runtests: fix test key format for libssh2 WinCNG (and others) 2025-03-23 20:26:26 +01:00
macos.yml GHA/macos: verbose cmake in test steps 2025-03-18 04:13:50 +01:00
non-native.yml GHA/non-native: drop building docs with autotools on emulated CPU 2025-03-14 23:08:22 +01:00
windows.yml runtests: fix test key format for libssh2 WinCNG (and others) 2025-03-23 20:26:26 +01:00