> On 10/14/2020 9:46 AM Dan Fandrich via curl-library 
> <[email protected]> wrote:
> 
> On Wed, Oct 14, 2020 at 09:06:14AM -0500, Michael Loutris wrote:
> > > On 10/14/2020 12:35 AM Dan Fandrich via curl-library 
> > > <[email protected]> wrote:
> > > 
> > > On Tue, Oct 13, 2020 at 06:42:50PM -0500, Michael Loutris via 
> > > curl-library wrote:
> > > > I am trying to securely transfer a file between two windows 10 devices, 
> > > > and I
> > > > get error 67, "CURLE_LOGIN_DENIED" when calling curl_easy_perform().  
> > > > All of
> > > > the curl_easy_setopt() calls return success.
> > > > 
> > > > The server has been configured as an SSH server using OpenSSH for 
> > > > Windows 10
> > > > and using OpenSSH commands from a Windows command prompt are successful 
> > > > in
> > > > transferring files. 
> > > 
> > > When you use these commands, does the logging show that authentication is
> > > performed with username+password, or is it being done with a key? Is the 
> > > key
> > > encrypted on disk?
> > > 
> > > Dan
> > > -------------------------------------------------------------------
> > Logging shows that authentication is done with a non-encrypted key.
> 
> Good—that proves the key is working. Next, I'd confirm that there's not a
> compatibility issue with the ssh backend you're using. Which one is that? For
> example, recent OpenSSH has disabled many protocols supported by libssh2 and 
> it
> sometimes has trouble negotiating a compatible one. Can you connect to the
> server using the appropriate command-line tool associated with the backend in
> use? For example, can you do an sftp download using the examples/sftp program
> in libssh2 (using the same library version as your libcurl and changing the
> keyfile* variables appropriately)?
> ------------------------------------------------------------------
I grabbed the libssh2.dll and generated a .lib for Windows and was able to 
successfully transfer a file. 
I suspect that my issue has to do with properly formatting the strings to 
libcurl, and for Windows in particular. 

1. I want to set the remote port for SFTP, so I believe that I should *NOT* 
user CURLOPT_CONNECT_TO, but use CURLOPT_RESOLVE, correct? 

2. The SSH/SFTP connection lies on an internal network, with no DNS or domain 
names. In the CURLOPT_RESOLVE description, the curl_slist string has the format 
HOST:PORT:ADDRESS
Should I leave the HOST empty or repeat the address? 
Which of the following formats do I use,  ":22:10.20.30.40"  or 
"10.20.30.40:22:10.20.30.40"?

3. When setting up the CURLOPT_URL, I need to connect to the server to a user 
account on the D: drive. 
I tried using the following call, but I'm afraid that it might be malformed. 
Again, this is for SFTP between two Windows 10 machines.

  result = curl_easy_setopt( curlSessionHandle, CURLOPT_URL, 
"sftp://[email protected]/~/Users/wi-19981-rda/Device_A/some_file"; );

I tried converting the slashes to the Windows format
    
"sftp:\\[email protected]\\~\\Users\\wi-19981-rda\\Device_A\\some_file"
but then libcurl signals a protocol error.

I'm already specifying the protocol in another option call, so is it necessary 
to specify the protocol in the CURLOPT_URL call as well?

4. Does the D: drive need to be explicitly listed in the path, or is it enough 
to use the /~/?

-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette:   https://curl.haxx.se/mail/etiquette.html

Reply via email to