Thanks. It's a bug in an implementation of SFTP version 6 in the Cerberus SFTP server.
The psftp and FileZilla use SFTP version 3, so the bug does not manifest, when using these clients.
I have implemented a workaround for the bug:
https://winscp.net/tracker/1338
I'm sending you a dev version for testing to your email.
Alternatively you can configure WinSCP to use SFTP version 5 or lower to mitigate the bug:
https://winscp.net/eng/docs/ui_login_sftp
I have reported the bug to Cerberus support:
Hello,
I'm the author of WinSCP SFTP client.
This is based on a report by our common user:
https://winscp.net/forum/viewtopic.php?t=15504
I've found that your SFTP server in SFTP version 6 always sets end-of-list field of SSH_FXP_NAME message to true. As WinSCP relies on this field, it stops reading the listing, resulting in display of an incomplete listing to the user.
Please correct this.
I have implemented a workaround for the bug:
https://winscp.net/tracker/1338
Effectively, WinSCP now ignores the field when connected to the Cerberus SFTP server, not taking advantage offered by SFTP-6 that allows skipping one round-trip.
Have a nice day.
Martin Prikryl
https://winscp.net/