I think I got it. It only happens when it displays the log window. I timed connection without logging at all, it was 22-23 secs (clear aliases and nat. vars enabled), then with logging to file, it was 23 secs again, and then with a log window. After 23 seconds passed it seemed to have connected and initialized everything but then instead of displaying the panels it starts displaying the log. Unlike the old version 3.5.6 I had which would display the log in real time the new version first keeps the log window empty but in the end dumps everything to it. It does it more quickly than 3.5.6 because of that but still not very fast (it's up to the computer). Ok, I would expect the panels then. But then, it pauses again, and I may suppose it is doing the connection job once again, because it takes about as long as the first time, even more, and once enough time has passed it displays all the same (absolutely the same, even the time, I made 2 files and compared them) log lines in the log window. Finally, it shows the panels. The time was 1:20. My home PC is old so it has much slower times but that doesn't matter. The time includes 2 connection times (23x2=46) plus log dumping times. Note that when it displays the 2nd log it does it noticeably slower than with the first log, literally line by line (again this is my home PC, at work things run faster, but the fact is 2nd log takes longer time).
When logging to file things are fine. The window log dump follows, just the 1st part (I translated 2 parts from Russian and removed unneccesary lines).
--------------------------------------------------------------------------
WinSCP Version 4.1.6 (Build 412) (OS 5.1.2600 Service Pack 2)
Login time: 20 September 8:22:53
--------------------------------------------------------------------------
Session name: Phoenix
Host name: 69.64.68.2 (Port: 22)
User name: cust (Password: No, Key file: Yes)
Tunnel: No
Transfer Protocol: SCP
Ping type: -, Ping interval: 60 sec; Timeout: 15 sec
Proxy: none
SSH protocol version: 2; Compression: No
Bypass authentication: No
Try agent: Yes; Agent forwarding: No; TIS/CryptoCard: No; KI: Yes; GSSAPI: No
Ciphers: aes,blowfish,3des,WARN,des,arcfour; Ssh2DES: No
SSH Bugs: -,-,-,-,-,-,-,-
SFTP Bugs: -,-
Return code variable: Autodetect; Lookup user groups: Yes
Shell: default, EOL: 0
Clear aliases: Yes, Unset nat.vars: Yes, Resolve symlinks: Yes
LS: ls -la, Ign LS warn: Yes, Scp1 Comp: No
Local directory: C:\Apache\htdocs\lib, Remote directory: /usr/share/ks/lib, Update: Yes, Cache: Yes
Cache directory changes: Yes, Permanent: Yes
DST mode: 1
--------------------------------------------------------------------------
Looking up host "69.64.68.2"
Connecting to 69.64.68.2 port 22
Server version: SSH-2.0-OpenSSH_4.2
We claim version: SSH-2.0-WinSCP_release_4.1.6
SSPI: acquired credentials for: Sergei@SERGEI
Cannot convert IP address to SPN: DNS is not trusted
GSSKEX disabled: Operation successfully completed.
Using SSH protocol version 2
Doing Diffie-Hellman group exchange
Doing Diffie-Hellman key exchange with hash SHA-1
Host key fingerprint is:
ssh-rsa 2048 25:14:65:a3:30:24:5f:df:ca:60:59:29:00:16:0d:0a
Initialised AES-256 SDCTR client->server encryption
Initialised HMAC-SHA1 client->server MAC algorithm
Initialised AES-256 SDCTR server->client encryption
Initialised HMAC-SHA1 server->client MAC algorithm
Reading private key file "C:\Util\putty-ssh2\private.ppk"
Using username "cust".
Offered public key
Offer of public key accepted
Authenticating with public key "rsa-key-20050421"
Access granted
Opened channel for session
Started a shell/command
--------------------------------------------------------------------------
Using SCP protocol.
Doing startup conversation with host.
Skipping host startup message (if any).
echo "WinSCP: this is end-of-file:0"
WinSCP: this is end-of-file:0
Detecting variable containing return code of last command.
Trying "$status".
echo "$status" ; echo "WinSCP: this is end-of-file:0"
WinSCP: this is end-of-file:0
Trying "$?".
echo "$?" ; echo "WinSCP: this is end-of-file:0"
0
WinSCP: this is end-of-file:0
Return code variable "$?" selected.
Clearing all aliases.
unalias "echo" ; echo "WinSCP: this is end-of-file:$?"
-bash: line 4: unalias: echo: not found
WinSCP: this is end-of-file:1
..., always the same response
Clearing national user variables.
unset "LANG" ; echo "WinSCP: this is end-of-file:$?"
WinSCP: this is end-of-file:0
...
Looking up groups and users.
groups ; echo "WinSCP: this is end-of-file:$?"
cust
WinSCP: this is end-of-file:0
Following groups found:
cust
No users found.
Changing directory to "/usr/share/ks/lib".
cd "/usr/share/ks/lib" ; echo "WinSCP: this is end-of-file:$?"
WinSCP: this is end-of-file:0
Getting current directory name.
pwd ; echo "WinSCP: this is end-of-file:$?"
/usr/share/ks/lib
WinSCP: this is end-of-file:0
Listing current directory.
ls -la --full-time ; echo "WinSCP: this is end-of-file:$?"
total 148
drwxrwxrwx 2 root root 4096 2008-07-08 12:05:02.000000000 -0700 .
drwxr-xr-x 3 root root 4096 2007-03-15 03:04:34.000000000 -0800 ..
-rw-rw-rw- 1 rbackup rbackup 2514 2008-05-15 07:20:08.000000000 -0700 HTTP.php
...
WinSCP: this is end-of-file:0
Directory listing with --full-time succeed, next time all errors during directory listing will be displayed immediatelly.
Startup conversation with host finished.