我使用tFTPConnection使用公钥文件连接到SFTP,我已成功连接到它。
字符串MYFilename已在tJava中设置
我需要将少量文件从本地转移到SFTP。我正在使用tFTPPut。
。但是,当我连接到SFTP时,使用密码验证,我可以成功传输所有文件。但是当我使用密钥文件进行连接时,我会得到“不匹配文件存在”#39;错误,没有文件传输。
我不知道代码中缺少什么。
请帮助。
我收到的错误如下 -
答案 0 :(得分:0)
Meen,
根据您提供的信息和屏幕截图,您的问题取决于您的配置和分发以及密钥。要使用公钥方法连接到SFTP服务器,必须先生成公钥/私钥对。然后,您必须在服务器上安装公钥。在您的Talend作业中,私钥值应为context.private_key(具有实际私钥的路径)。您指向您的公钥(context.public_key)。如果您的私钥有密码(在生成公钥/私钥对时应始终使用密码短语),那么您也必须输入密码。
Talend将使用您的私钥生成签名。服务器将使用您的公钥来验证签名。这用于代替密码。它更安全但更难设置。
另一件事是,在Talend中设置任何类型的FTP之前,总是使用客户端(如WINSCP)来首先解决任何连接问题。通过这种方式调试基本连接和身份验证问题要容易得多。一旦你知道它的工作原理,将正确的设置转移到Talend,从那一点开始的任何问题都更容易解决。
您可能还有其他问题,但根据您提供的信息,这是我要开始的地方。