如何改进或删除 sftp 硬编码密码骆驼代码
How to improve or remove sftp hard code password camel code
我有以下代码:-
public class FtpRouteBuilder extends RouteBuilder {
@Override
public void configure() throws Exception {
try{
from("file:c:/temp/input/")
.streamCaching()
.to("sftp://sftpuser@192.168.10.54:/sftpuser/?password=dev&passiveMode=true");
}catch (Exception ex){
System.out.printf("ex: "+ex.getMessage());
}
}
}
我在代码中有 sftp 密码 "dev"。那太丑了。我怎样才能删除它并以更好的方式设置它?
查看您的ftp 服务器文档,了解如何使用 SSH 密钥设置访问。如果您还没有密钥对(例如使用 ssh-keygen),则需要生成一对密钥,然后将 public 密钥放在 sftp 服务器上。不要使用密码短语。如果这样做,则必须将其添加到骆驼路线中,所以它看起来会很丑。
检查您是否可以使用私钥与 ftp 客户端进行传输。即在尝试将它们与骆驼一起使用之前测试键。
更改路由以使用私钥
from("file:c:/temp/input/")
.streamCaching()
.to("sftp://sftpuser@192.168.10.54:/sftpuser/?privateKeyFile=path-to-private-key-file&passiveMode=true");
我有以下代码:-
public class FtpRouteBuilder extends RouteBuilder {
@Override
public void configure() throws Exception {
try{
from("file:c:/temp/input/")
.streamCaching()
.to("sftp://sftpuser@192.168.10.54:/sftpuser/?password=dev&passiveMode=true");
}catch (Exception ex){
System.out.printf("ex: "+ex.getMessage());
}
}
}
我在代码中有 sftp 密码 "dev"。那太丑了。我怎样才能删除它并以更好的方式设置它?
查看您的ftp 服务器文档,了解如何使用 SSH 密钥设置访问。如果您还没有密钥对(例如使用 ssh-keygen),则需要生成一对密钥,然后将 public 密钥放在 sftp 服务器上。不要使用密码短语。如果这样做,则必须将其添加到骆驼路线中,所以它看起来会很丑。
检查您是否可以使用私钥与 ftp 客户端进行传输。即在尝试将它们与骆驼一起使用之前测试键。
更改路由以使用私钥
from("file:c:/temp/input/") .streamCaching() .to("sftp://sftpuser@192.168.10.54:/sftpuser/?privateKeyFile=path-to-private-key-file&passiveMode=true");