На гостевой машине находящейся за NAT настроен pure-ftpd. В папке /etc/pure-ftpd/conf/ добавил файл ForcePassiveIP с внешним IP адресом сервера, в файле PassivePortRange указан диапазон портов, которые проброшены на хостовой машине. После чего стал подключаться WinSCP. Но при попытке подключиться через sftp расширение в VS CODE с настройками:
"host": "serverip",
"protocol": "ftp",
"port": 21,
"username": "username",
"password": "password"
в логах сервера:
[INFO] New connection from ip
[DEBUG] Command [user] [username]
[DEBUG] Command [pass] [<*>]
[INFO] username is now logged in
[DEBUG] Command [feat] []
[DEBUG] Command [type] [I]
[DEBUG] Command [pasv] []
[DEBUG] Command [list] [./]
[DEBUG] Command [noop] []
В логах VS CODE:
[debug] > PASV
[debug] < '227 Entering Passive Mode (ip,156,243)\r\n'
[debug] > LIST ./
[debug] < '150 Accepted data connection\r\n226-Options: -a -l \r\n226 0 matches total\r\n'
[verbose] Listing folder './'
[verbose] Exclude list: '.git, .svn, .hg, CVS, .DS_Store'
[verbose] Directory './' is empty!
[debug] > NOOP
Будто не может получить список директорий и файлов. Но в winSCP всё нормально подключается.
Почему не подключается?