如何改善或删除sftp硬代码密码骆驼代码

时间:2018-11-24 19:19:56

标签: passwords apache-camel sftp

我有以下代码:-

    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”。太丑了如何删除它并进行更好的设置?

1 个答案:

答案 0 :(得分:0)

  1. 查看sftp服务器的文档,了解如何使用SSH密钥设置访问权限。如果您还没有密钥对(例如,使用ssh-keygen),则需要生成一个密钥对,然后将公用密钥放在sftp服务器上。不要使用密码。如果您这样做,则必须将其添加到骆驼路线中,这样看起来就很难看了。

  2. 检查您是否可以使用私钥与ftp客户端进行传输。即在尝试将其与骆驼一起使用之前先对其进行测试。

  3. 更改您的路线以使用私钥

    let id_play = [];
    let orden_play = [];
    
    const children = $("#listaOrdenable").children().map((childId, child) => child.attributes);
    const getAttrFromChild = (attr) => children.get().map(child => child[attr].value);
    
    id_play = getAttrFromChild("id_play")
    orden_play = getAttrFromChild("orden_play")
    
    console.log(id_play, orden_play)