This problem continues to occur with curl 7.74.0 on Debian GNU/Linux 11 (bullseye) on WSL:
curl 7.74.0 (x86_64-pc-linux-gnu) libcurl/7.74.0 OpenSSL/1.1.1w zlib/1.2.11 brotli/1.0.9 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.3.0) libssh2/1.9.0 nghttp2/1.43.0 librtmp/2.3 Release-Date: 2020-12-09, security patched: 7.74.0-1.3+deb11u11 Debian GNU/Linux 11 (bullseye) Kernel: Linux 5.15.146.1-microsoft-standard-WSL2 Since I have the public key file, a workaround is to explicitly pass the public key file. That is, this command fails: curl -v sftp://user@host/home/user/ with this error: Using SSH private key file '.../.ssh/id_rsa' * SSH public key authentication failed: Unable to extract public key from private key file: Method unimplemented in libgcrypt backend And this works: curl --pubkey ~/.ssh/id_rsa.pub sftp://user@host/home/user/ "curl 8.7.1 (x86_64-pc-cygwin)" extracts the private key from the public key.