cURL / Mailing Lists / curl-library / Single Mail


SFTP with unknown host (was Re: CURLOPT_SSH_KEYFUNCTION never gets called?)

From: <>
Date: Sun, 20 Feb 2011 20:10:25 -0800

Maybe I should backup to what my actual goal is: I'd like to be able SFTP to an unknown host. CURL (and libcurl) seem to insist that a host exist in the known_hosts file before allowing an SFTP session.

curl on the command line like this:

   curl -u myusername s

fails with a "curl: (51) SSL peer certificate or SSH remote key was not OK" error. Once I add my server to the known_hosts file, all is well.

The sftpdir.c example that comes with libssh2 works perfectly, even without an entry for my server in the known_hosts file.

Any ideas?


On Feb 20, 2011, at 3:33 PM, Daniel Stenberg wrote:

> On Sun, 20 Feb 2011, wrote:
>> I am trying to get SFTP support working using libcurl. I am setting a keyFunction like this:
>> curlcode = curl_easy_setopt(curl, CURLOPT_SSH_KEYFUNCTION, _keyFunction);
>> but my key function never gets called when I try to connect to an SFTP server. I'm kind of surprised by this. Is this common? Under what circumstances should it get called? The docs seem to say that it should always be called.
> It always gets called if set! It only ever not gets called if your libcurl was built with an old libssh2 present that doesn't have the required knownhost API...
> (see lib/ssh.c line 661)
> So, if you really don't get it called I think you should set a break-point in the libcurl code and figure out how you manage to avoid it, and then tell us!
> --
> /
> -------------------------------------------------------------------
> List admin:
> Etiquette:

List admin:
Received on 2011-02-21