错误:使用 npm 模块 - ssh2-sftp-client 连接到在 aws 上创建的 vsftpd 服务器时,所有配置的身份验证方法均失败

Ash*_*ish 5 javascript node.js npm

用于连接 vsftpd 服务器的代码

sftp.connect({

host: "3.6.75.65"

port: "22"

username: "ashish-ftp"

password: "*******"

})
.then(() => {

console.log("result")

})
.catch((err)=>{

console.log("error")

})
Run Code Online (Sandbox Code Playgroud)

我已经在 aws 中完成了用于文件传输的 VSFTPD 服务器的设置,并尝试使用 npm 模块 - ssh2-sftp-client 进行连接,它显示了下面给出的错误

Error: All configured authentication methods failed

at tryNextAuth (/home/ashish/addis/node_modules/ssh2/lib/client.js:392:17)

at SSH2Stream.onUSERAUTH_FAILURE (/home/ashish/addis/node_modules/ssh2/lib/client.js:599:5)

at emitTwo (events.js:126:13)

at SSH2Stream.emit (events.js:214:7)

at parsePacket (/home/ashish/addis-pianca/node_modules/ssh2-streams/lib/ssh.js:3930:10)

at SSH2Stream._transform (/home/ashish/addis-pianca/node_modules/ssh2-streams/lib/ssh.js:671:13)

at SSH2Stream.Transform._read (_stream_transform.js:186:10)

at SSH2Stream._read (/home/ashish/addis-pianca/node_modules/ssh2-streams/lib/ssh.js:253:15)

at SSH2Stream.Transform._write (_stream_transform.js:174:12)

at doWrite (_stream_writable.js:397:12)

at writeOrBuffer (_stream_writable.js:383:5)

at SSH2Stream.Writable.write (_stream_writable.js:290:11)

at Socket.ondata (_stream_readable.js:639:20)

at emitOne (events.js:116:13)

at Socket.emit (events.js:211:7)

at addChunk (_stream_readable.js:263:12)

at readableAddChunk (_stream_readable.js:250:11)

at Socket.Readable.push (_stream_readable.js:208:10)

at TCP.onread (net.js:607:20) level: 'client-authentication'
Run Code Online (Sandbox Code Playgroud)

连接 filezilla 时显示错误

Error: FATAL ERROR: No supported authentication methods available (server sent: publickey)
Error: Could not connect to server
Run Code Online (Sandbox Code Playgroud)

请帮助如何使用 NPM 模块连接 FTP 服务器。

Sap*_*man 1

这是一个老问题,但最近在 ssh2 JS 包中遇到了同样的问题。

  1. 确保可以访问远程字符串,通过 ssh 访问该站点,并查看它是否适用于您的密钥/配置/服务器设置等。

  2. 如果上面控制台中的普通 ssh 有效:请确保您的代码使用正确的密钥版本/格式。一个简单的测试只需调用并将结果打印到utils.parseKey("your key here"). Utils是ssh2中的一个库。

  3. 确保您的应用程序使用正确的密钥。