Я сейчас пытаюсь подключиться к FTP-серверу, используя nodeJS lib basic-ftp
. Кажется, что соединение было установлено, но я не могу выполнить ни одной операции или даже вывести оператор log
после попытки доступа к серверу. Затем код запускается по таймауту. Я могу проверить связь с сервером из своей локальной среды, используя команду Windows CMD ping ..
const ftp = require("basic-ftp")
example()
async function example() {
const client = new ftp.Client(timeout = 30000)
client.ftp.verbose = true
try {
await client.access({
host: "10.xxx.xx.xx",
port: 2222,
user: "xxx",
pass: "xxxx",
secure: true
})
console.log("CONNECTED");
console.log(await client.ensureDir("/PATH/"));
console.log(await client.list('/PATH/'));
}
catch (err) {
console.log(err)
}
client.close()
}
Вывод:
Connected to 10.xxx.xx.xxx:2222 (No encryption)
< SSH-2.0-WS_FTP-SSH_8.5.0
Error: Timeout (control socket)
at Socket.<anonymous> (C:\Users\xxx\dev\nodejs\ftpTest\node_modules\basic-ftp\dist\FtpContext.js:316:58)
at Object.onceWrapper (events.js:299:28)
at Socket.emit (events.js:210:5)
at Socket._onTimeout (net.js:469:8)
at listOnTimeout (internal/timers.js:531:17)
at processTimers (internal/timers.js:475:7)
Почти нет вывода, который помог бы мне определить проблему. Я могу установить sh соединение с помощью WinSCP.
Есть ли у кого-нибудь представление о том, что может вызвать проблему и какие шаги необходимы, чтобы определить, что может вызвать эту проблему?
Большое спасибо!
EDIT:
Может быть, отсутствует какой-то обмен ключами? При использовании WinSCP мне пришлось нажать «Да»!