Post a reply

Options
Add an Attachment

If you do not want to add an Attachment to your Post, please leave the Fields blank.

(maximum 10 MB; please compress large files; only common media, archive, text and programming file formats are allowed)

Options

Topic review

ToniJ

Re: If I run it from a windows service, it hangs.

Confirmed Martin, if I close my application's log file before calling your Open method and then open the log file again, everything works fine.
For your information, I have this log file open with the LOCK APPEND property, in case it helps you in the future.
Thank you very much for your help Martin, it has been very helpful.
ToniJ

Re: If I run it from a windows service, it hangs.

Wait Martin, I have found a possible cause on my part, related to the open files to debug the main program.

It seems that after calling the open of the winscpnet.dll, it affects the open files of my main program, since they will not be left with the same state.
If I disable my log file, everything works fine from the windows service.
ToniJ

Re: If I run it from a windows service, it hangs.

I am waiting your news, I mean... ;)
ToniJ

Re: If I run it from a windows service, it hangs.

Yes, Martin, I mean that for some reason, when trying to open the FTP/SFTP from the Windows service, it hangs (in both posts)

This is a good clue for you to find out the cause and to solve it.

I wait for news. Thanks, Martin.
martin

Re: If I run it from a windows service, it hangs.

Thanks for posting your findings. I'm not sure if you expect anything from us now :)
ToniJ

Re: If I run it from a windows service, it hangs.

The explanation is that this DNS has several IPs (by mistake, I imagine) and each time, it resolves it randomly:
C:\Windows\System32>nslookup sftp.commerce-connector.com

Servidor: 250.red-80-58-61.staticip.rima-tde.net
Address: 80.58.61.250

Respuesta no autoritativa:
Nombre: sftp.commerce-connector.com
Addresses: 3.127.84.184
3.126.178.237
52.29.213.126


Anyway, if we force connect to an IP, it always hangs on the Authenticating point from Windows Service.
I think it is the same problem as the other post (in that case, it's FTP), that when we are running from Windows Service, it hangs.
I have attached updated logs with a level of detail 2.

I think we are close to solving it. ;)

Thanks a lot Martin !!!
ToniJ

Re: If I run it from a windows service, it hangs.

Ok, I see.
I will tell you something. Thanks a lot!
martin

Re: If I run it from a windows service, it hangs.

The hostname resolves to different IPs in your two scenarios:
. 2022-03-07 10:22:57.234 Looking up host "sftp.commerce-connector.com" for SSH connection
. 2022-03-07 10:22:57.265 Connecting to 52.29.213.126 port 22

. 2022-03-07 12:20:22.640 Looking up host "sftp.commerce-connector.com" for SSH connection
. 2022-03-07 12:20:22.671 Connecting to 3.127.84.184 port 22

Please talk to your network administrator.
ToniJ

Re: If I run it from a windows service, it hangs.

Hi, first of all, I apologize for the delay in responding and now I return to this topic, without leaving it. (In this case is SFTP type)
I attach sesison log and debug log, with versions of the execution from the user and also from the service.

I use WinSCP 5.19.6 (.NET assembly - COM Library)

As you can see, when running from the service, it doesn't connect. It hangs.
Instead, from the normal execution from the windows user, it does connect (but then the "Session is already opened" error appears when calling Session.ListDirectory, but that's another topic)

Note: AVAST Antivirus is stopped.
Note: I'm using Local System account in service. But if I use administrator user, the result is the same. It hangs.

Thanks for advance.
Toni.
martin

Re: If I run it from a windows service, it hangs.

Can you post log file when "executing normally"?

Does the service have a network connectivity?
(btw, your previous logs used a different local account and different IPs, so it's difficult to compare them)
ToniJ

If I run it from a windows service, it hangs.

I attach logs of other computer.
Assigning the SshHostKeyFingerprint with the rest of credentials (without scan it).

Thanks Martin
ToniJ

If I run it from a windows service, it hangs.

Thanks Martin,

I have made the test of assigning the SshHostKeyFingerprint with the rest of credentials (without scan it).
To check, executing normally, it works.
But from Windows Service, it also hangs at the same point.

I don't have any antivirus or firewall that can block the connection.

I have tested on another computer, the same thing happens.

Any ideas?
Thanks
martin

Re: If I run it from a windows service, it hangs.

If you are calling the Session.ScanFingerprint for each and every connection, you are only ineffectively doing the same what you can achieve by setting SessionOptions.GiveUpSecurityAndAcceptAnySshHostKey
https://winscp.net/eng/docs/library_sessionoptions#giveupsecurityandacceptanysshhostkey
What is a security flaw.
Instead, the host key should be part of your session settings for each of your servers, along with the hostname and credentials.
See also https://winscp.net/eng/docs/faq_hostkey
For an alternative approach, see https://winscp.net/eng/docs/library_example_known_hosts
Or use the WinsCP 5.18 with its SshHostKeyPolicy.AcceptNew.
ToniJ

If I run it from a windows service, it hangs.

First of all, thanks for your reply.

I assign the property mySessionOptions.SshHostKeyFingerprint because if I don't, we get error:
SessionOptions.Protocol is Protocol.Sftp or Protocol.Scp, but SessionOptions.SshHostKeyFingerprint is not set.

So, since I am going to connect with different Servers, what I do is request it with mySession.ScanFingerprint(mySessionOptions, "SHA-256") and assign mySessionOptions.SshHostKeyFingerprint before executing mySession.Open mySessionOptions.

From your words, I understand that we can connect without the need for set SshHostKeyFingerprint, but then how?

Thanks a lot.
martin

Re: Here is how I register it.

Don't you get blocked somehow? I see in the log, that first time, the connection succeeds. But the second connection one second later hangs. Maybe the server does not like this. Why are you doing the fingerprint scan? Are you implementing a host key cache?
ToniJ

Here is how I register it.

C:\windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe "C:\NTV\DLL\WinSCPnet.dll" /codebase /tlb

and the winscp.exe is in C:\NTV\DLL, too.
Version: 5.18.3.0 => WinSCP 5.18 RC downloaded 4 May 2021

Thanks in advance.
ToniJ

Here are the logs

Here are the logs
martin

Re: If I run it from a Windows service, it hangs.

How did register the assembly for all users?

Please set Session.SessionLogPath and Session.DebugLogPath and post the logs.
ToniJ

If I run it from a Windows service, it hangs.

Hi everybody,

My little application in VB6 uses successfully WinSCPnet.dll for connect to SFTP.
But if I use it from a Windows service, it freezes when trying to connect.
Could you help me,

Thanks and congratulations.