Apache Camel 设置 privateKey SFTP
Apache Camel set privateKey SFTP
我正在尝试连接到 sftp 服务器以存储一些文件。我想通过 SSH 连接。
我的问题几乎与:
Camel SFTP component - SSH private key URI works with privateKeyFile, doesn't work with privateKey
以及以下答案:
但是我还是连接不上
我的工作路线:
from(mytopic)
.to(sftp://username@my.host:22/folder/?privateKeyFile=path/to/privateRsa)
我的非工作路线:
from(mytopic)
.to(sftp://username@my.host:22/folder/?privateKey=byteArrayRsa)
我调试了 com.jcraft.jsch.KeyPair class -> 以下方法:
public static KeyPair load(JSch jsch, byte[] prvkey, byte[] pubkey) throws JSchException
似乎我没有得到正确的 byte[] prvkey,而是得到了它的地址。
如何发送正确的字节数组?我尝试按照其中一个链接中的建议创建一个 bean,但没有成功。 (我使用的是骆驼 3.1)
这不起作用,您不能简单地在路由定义中使用 ByteArray 引用。当您使用像 org.apache.camel.impl.SimpleRegistry
这样的注册表来存储密钥引用时,它会起作用。
simpleRegistry.put("MySshKey", byteArrayRsa)
camelCtx.setRegistry(simpleRegistry)
然后你可以在路由中使用引用:
privateKey=#MySshKey
也许你也可以使用 Spring 注入。
我正在尝试连接到 sftp 服务器以存储一些文件。我想通过 SSH 连接。
我的问题几乎与:
Camel SFTP component - SSH private key URI works with privateKeyFile, doesn't work with privateKey
以及以下答案:
我的工作路线:
from(mytopic)
.to(sftp://username@my.host:22/folder/?privateKeyFile=path/to/privateRsa)
我的非工作路线:
from(mytopic)
.to(sftp://username@my.host:22/folder/?privateKey=byteArrayRsa)
我调试了 com.jcraft.jsch.KeyPair class -> 以下方法:
public static KeyPair load(JSch jsch, byte[] prvkey, byte[] pubkey) throws JSchException
似乎我没有得到正确的 byte[] prvkey,而是得到了它的地址。 如何发送正确的字节数组?我尝试按照其中一个链接中的建议创建一个 bean,但没有成功。 (我使用的是骆驼 3.1)
这不起作用,您不能简单地在路由定义中使用 ByteArray 引用。当您使用像 org.apache.camel.impl.SimpleRegistry
这样的注册表来存储密钥引用时,它会起作用。
simpleRegistry.put("MySshKey", byteArrayRsa)
camelCtx.setRegistry(simpleRegistry)
然后你可以在路由中使用引用:
privateKey=#MySshKey
也许你也可以使用 Spring 注入。