I had this issue and it caused incorrect permission on /etc/passwd file. it was 600 and I changed it to 644 and then WinSCP via SFTP was working again.
Before posting, please read how to report bug or request support effectively.
Bug reports without an attached log file are usually useless.
I have been trying to get winscp to connect to a remote sftp site, but kept encountering the dreaded: Cannot initialize SFTP protocol. Is the host running a SFTP server? after authenticating.
Oddly Filezilla worked fine, WinSCP Gui and command line both failed after authentication.
After googling and searching to forums, someone suggested to set the SFTP protocol version to a lower number (on the gui, advanced options->sftp->preferred sftp protocol version), once i set that to 4, the gui connected.
But i needed the commandline to do so also, this is the syntax:
open sftp://username:password@remotehost -rawsettings SFTPMaxVersion=4
everything is hunkydory now.