【问题标题】:How to list all subdirectory using nodeJS SFTP client?如何使用nodeJS SFTP客户端列出所有子目录?
【发布时间】:2018-07-13 08:04:53
【问题描述】:

有趣的节点 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

上面的代码只返回给定路径中的目录,而不是它的子目录。

【问题讨论】:

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


    【解决方案1】:

    您为什么使用用户名/密码? sftp 应该使用 ssh 密钥。共享密钥后,您不需要密码..您应该可以使用用户名进行连接。

    【讨论】:

    • 主机:主机名,端口:端口,用户名:用户名,//privateKey:fs.readFileSync('/home/myHome/server/int/aws__int.ppk'),密码:密码
    • 是连接 ppk 文件。这只是一个模板@Narayana
    • 用户名是否具有访问远程位置上所有文件夹和子文件夹的适当权限?
    • 是的。有。没有权限问题。因为如果我逐个文件夹传递,我可以获得目录列表。
    • @Narayana,为什么将其发布为答案?这听起来更像是对我的评论。它没有解决 OP 提出的任何问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-19
    • 1970-01-01
    • 2011-11-09
    • 2010-09-23
    • 1970-01-01
    • 2012-11-12
    相关资源
    最近更新 更多