如何使用nodeJS SFTP客户端列出所有子目录?

时间:2018-02-02 18:53:25

标签: javascript node.js ftp sftp ftp-client

有趣的节点JS ssh2-sftp-client。我想列出给定路径中的所有目录及其子目录?

 let sftp = new ssh2SftpClient();
console.log(sftp);
sftp.connect({
    host: 'xx.xxx.xxx.xxx',
    port: '22',
    username: 'centos',
    privateKey: require('fs').readFileSync('/home/myHome/aws_int.ppk')
}).then(() => {
    return sftp.list('/home/centos/myHome');
}).then((data) => {
    console.log('the data info : ' + data);
    for(i = 0; i < data.length; i++) {
        console.log(data);
        console.log(data[i].name);
    }
}).catch((err) => {
    console.log('catch error : ' + err);
}).catch(() => {
    console.log('catch error : ' + err);
});

https://www.npmjs.com/package/ssh2-sftp-client

上面的代码只返回给定路径中的目录,但不返回其子目录。

1 个答案:

答案 0 :(得分:-2)

为什么使用用户名/密码? sftp应该使用ssh密钥。一旦共享密钥,您就不需要密码..您应该能够使用用户名连接。