最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

生成要在我的电子应用程序中使用的密钥对

IT培训 admin 8浏览 0评论

生成要在我的电子应用程序中使用的密钥对

我正在电子应用程序中使用此代码连接到需要收集一些数据的sftp服务器。我没有列出/ out文件夹中的文件的问题,但是无法获取sftp文件。我不确定这是否是我的代码有问题,尽管我认为可能不是问题,还是公共/私有密钥对本身或代码指向私有密钥的方式有问题。我要为sftp提供程序提供一个新的密钥对,我的主要问题是生成密钥对的最佳方法是,将公钥发送给第三方提供商并将私钥存储在电子应用程序中?

let Client = require('ssh2-sftp-client');
let sftp = new Client();

var root = '/out';
var today = new Date();
var mon = ((today.getMonth()+1) < 10)? "0" + (today.getMonth()+1) : (today.getMonth()+1);
var date = (today.getDate() < 10)? "0" + today.getDate() : today.getDate();
var fileDate = mon + date;   


sftp.connect({
    host: '<server-address>',
    port: 2222,
    username: 'XXXXXXXX',
    password: 'xxxxxxxx',
    privateKey: fs.readFileSync(path.join(__dirname, '../rsa/<file-name-here>.pem'))
})
.then(() => {
    return sftp.list(root, 'SN5M' + fileDate);
})
.then((fileInfo) => { 
    if (fileInfo) {
        var filePath = root + '/' + fileInfo[fileInfo.length - 1].name;
        return sftp.get(filePath).then((file) => {
            console.log(file);
            event.returnValue = file;
            sftp.end();
        })
        .catch((err) => {
            console.log('File get error', err);
            event.returnValue = err;
            sftp.end();
        });
    }
})
.catch((err) => {
    console.log('File info error', err);
    event.returnValue = err;
    sftp.end();
});
回答如下:

尝试一下,看看是否有效

'get'返回(String | Stream | Buffer)。

let dst = fs.createWriteStream('/local/file/path/data.txt');
sftp.get(filePath,dst)

参考https://www.npmjs/package/ssh2-sftp-client#orga0dfcd5

生成要在我的电子应用程序中使用的密钥对

我正在电子应用程序中使用此代码连接到需要收集一些数据的sftp服务器。我没有列出/ out文件夹中的文件的问题,但是无法获取sftp文件。我不确定这是否是我的代码有问题,尽管我认为可能不是问题,还是公共/私有密钥对本身或代码指向私有密钥的方式有问题。我要为sftp提供程序提供一个新的密钥对,我的主要问题是生成密钥对的最佳方法是,将公钥发送给第三方提供商并将私钥存储在电子应用程序中?

let Client = require('ssh2-sftp-client');
let sftp = new Client();

var root = '/out';
var today = new Date();
var mon = ((today.getMonth()+1) < 10)? "0" + (today.getMonth()+1) : (today.getMonth()+1);
var date = (today.getDate() < 10)? "0" + today.getDate() : today.getDate();
var fileDate = mon + date;   


sftp.connect({
    host: '<server-address>',
    port: 2222,
    username: 'XXXXXXXX',
    password: 'xxxxxxxx',
    privateKey: fs.readFileSync(path.join(__dirname, '../rsa/<file-name-here>.pem'))
})
.then(() => {
    return sftp.list(root, 'SN5M' + fileDate);
})
.then((fileInfo) => { 
    if (fileInfo) {
        var filePath = root + '/' + fileInfo[fileInfo.length - 1].name;
        return sftp.get(filePath).then((file) => {
            console.log(file);
            event.returnValue = file;
            sftp.end();
        })
        .catch((err) => {
            console.log('File get error', err);
            event.returnValue = err;
            sftp.end();
        });
    }
})
.catch((err) => {
    console.log('File info error', err);
    event.returnValue = err;
    sftp.end();
});
回答如下:

尝试一下,看看是否有效

'get'返回(String | Stream | Buffer)。

let dst = fs.createWriteStream('/local/file/path/data.txt');
sftp.get(filePath,dst)

参考https://www.npmjs/package/ssh2-sftp-client#orga0dfcd5

发布评论

评论列表 (0)

  1. 暂无评论