- Notifications
You must be signed in to change notification settings - Fork 99
Open
Description
Describe the bug
I’m encountering a 530 User cannot log in error when attempting to connect to a Microsoft FTP server using basic-ftp in Node.js. I’ve confirmed that the credentials and the IP address are correct, and I can successfully connect via FileZilla from the same IP with the same credentials. The server does not use TLS, so I’m connecting with secure: false.
Example code
const ftp = require("basic-ftp") async function test() { const client = new ftp.Client() client.ftp.verbose = true try { await client.access({ host: "192.168.65.89", user: "ftpuser", password: "PassWord=", port: 21, secure: false // No TLS }) console.log("Connection successful!") console.log(await client.list()) } catch(err) { console.error("FTP error:", err) } finally { client.close() } } test()Console output
Connected to 192.168.65.89:21 (No encryption) < 220 Microsoft FTP Service > OPTS UTF8 ON < 200 OPTS UTF8 command successful - UTF8 encoding now ON. Login security: No encryption > USER ftpuser < 331 Password required > PASS ### < 530 User cannot log in. Erreur FTP: FTPError: 530 User cannot log in. at FTPContext._onControlSocketData (...\basic-ftp\dist\FtpContext.js:283:39) at Socket.<anonymous> (...\basic-ftp\dist\FtpContext.js:127:44) at Socket.emit (node:events:519:28) at addChunk (node:internal/streams/readable:559:12) at readableAddChunkPushByteMode (node:internal/streams/readable:510:3) at Readable.push (node:internal/streams/readable:390:5) at TCP.onStreamRead (node:internal/stream_base_commons:190:23) { code: 530 } > QUIT Which version of Node.js are you using?
Node.js v21.5.0
Which version of basic-ftp are you using?
basic-ftp v5.0.5
Additional context
- The same credentials from the same IP work correctly when using FileZilla.
- The FTP server is a Microsoft FTP Service and does not use TLS (
secure: falseis set). - The connection fails with a
530 User cannot log indespite matching credentials.
Metadata
Metadata
Assignees
Labels
No labels