GNURLOPT_SSH_PUBLIC_KEYFILE(3)
hey bestie π welcome to the GNURLOPT_SSH_PUBLIC_KEYFILE(3) page β it's part of the curl_easy_setopt options squad, and we're about to make public key files for SSH auth make sense, no cap.
π NAME π
CURLOPT_SSH_PUBLIC_KEYFILE β set public key file for SSH auth π
β¨ SYNOPSIS β¨
okay so first you include this header, then you call it like this:
#include <gnurl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSH_PUBLIC_KEYFILE,
char *filename);
π¦ DESCRIPTION π¦
You pass a char * pointing to a filename for your public key. That's the whole main character move π₯
If you don't use this option, libcurl defaults to $HOME/.ssh/id_dsa.pub if the HOME environment variable is set, and just "id_dsa.pub" in the current directory if HOME is not set. iykyk π«Ά
If NULL (or an empty string) is passed, libcurl will pass no public key to libssh2, which then tries to compute it from the private key. This is known to work with libssh2 1.4.0+ linked against OpenSSL π
The application does not have to keep the string around after setting this option. So cute, so convenient, periodt π
πΈ DEFAULT πΈ
The default is lowkey just NULL π«Ά
π PROTOCOLS π
Protocols in the house: SFTP and SCP π¦
π EXAMPLE π
okay so here's the example, and it's giving iconic:
CURL *curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "sftp://example.com/file");
curl_easy_setopt(curl, CURLOPT_SSH_PUBLIC_KEYFILE,
"/home/clarkkent/.ssh/id_rsa.pub");
ret = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
β AVAILABILITY β
The "" trick was added in 7.26.0 β yes, literally the empty-string trick β¨
π RETURN VALUE π
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or CURLE_OUT_OF_MEMORY if there was insufficient heap space. That's the whole vibe check π«Ά
π§ SEE ALSO π§
mwah π β this page comes from libcurl 7.37.0, dated 19 Jun 2014, and it's the GNURLOPT_SSH_PUBLIC_KEYFILE(3) manual. bye bestie! π«Ά
π¦ where this page comes from
- nixos 26.05: libgnurl 7.72.0
- nixpkgs unstable: libgnurl 7.72.0
- Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms