N / SFTP模块中的FTP_INCORRECT_HOST_KEY

时间:2019-07-12 07:52:27

标签: sftp netsuite

使用N / SFTP模块创建从NetSuite到SFTP的连接时,我遇到错误状态:

  

“ FTP_INCORRECT_HOST_KEY”,“消息”:“提供的主机密钥不匹配   远程服务器的指纹。”

我曾尝试与服务器团队联系,但没有希望。有人可以建议我如何解决此问题,或者如何从服务器获取授权的指纹主机密钥。

我已经在下面提到的工具的帮助下尝试了Suitescript 2.0模块(N / SFTP)。

https://ursuscode.com/netsuite-tips/suitescript-2-0-sftp-tool/

/**
 *@NApiVersion 2.x
 @NScriptType ScheduledScript
 */
define(['N/sftp', 'N/file', 'N/runtime'],function(sftp, file,runtime) {  

    function execute(context)
    {
        var myPwdGuid = "Encrypted password by GUID";
        var myHostKey = "Some long Host key around 380 characters";

        // establish connection to remote FTP server
           var connection = sftp.createConnection({
            username: 'fuel_integration',
            passwordGuid: myPwdGuid, // references var myPwdGuid
            url: '59.165.215.45',//Example IP
            directory: '/sftproot/TaleoSync',
            restrictToScriptIds : runtime.getCurrentScript().id,
            restrictToCurrentUser :false,
            hostKey: myHostKey // references var myHostKey
           });
        // specify the file to upload using the N/file module

        // download the file from the remote server

        var downloadedFile = connection.download({
            directory: '/sftproot/TaleoSync',
            filename: 'Fuel Funnel Report_without filter.csv'
        });
        downloadedFile.folder = ;
        downloadedFile.save();

         context.response.write(' Downloaded "Fuel Funnel Report_without filter" to fileCabinet');

    }

    return {
        execute: execute
        };


});

我希望在SFTP和NetSuite之间建立连接,以从SFTP提取文件并将其放置到NetSuite文件柜中。

1 个答案:

答案 0 :(得分:0)

几件事:

restrictToScriptIds : runtime.getCurrentScript().id,
restrictToCurrentUser :false,

不属于createConnection签名。当您创建Suitelet来存储您的凭证时,应该使用这些凭证。

但是,可以通过在Linux机器上使用ssh-keyscan处理主机密钥投诉。

ssh-keyscan  59.165.215.45

应使用服务器名称,ssh-rsa和长的base64字符串重播。复制该字符串,使其以myHostKey结尾,并将hostKeyType设置为RSA。