如何将文件写入apachesshd服务器?

omqzjyyz  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(297)

说明:
我正在为我的同事构建一个测试工具。我有几个“模拟”内存后端,它们需要用来运行集成测试。
因此,我需要运行ssh服务器来上传/下载文件。
基本用例如下:
上传文件,通过apache camel路由下载文件
上传文件,通过apache camel路由将文件传输到不同的文件夹,下载文件以验证转换、内容
问题:
我编写了apache sshd服务器:
服务器实现示例 SshServer.java :

package com.example.sshd;

import org.apache.sshd.server.SshServer;
import org.apache.sshd.server.keyprovider.SimpleGeneratorHostKeyProvider;
import org.apache.sshd.server.scp.ScpCommandFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.IOException;
import java.nio.file.Files;

public class SSHServer {

    private SshServer sshServer;
    private static final Logger logger = LoggerFactory.getLogger(SSHServer.class);

    public SSHServer() throws IOException {
        sshServer = SshServer.setUpDefaultServer();
        sshServer.setHost("127.0.0.1");
        sshServer.setKeyPairProvider(new SimpleGeneratorHostKeyProvider(Files.createTempFile("host_file", ".ser").toAbsolutePath()));
        sshServer.setCommandFactory(new ScpCommandFactory());
        sshServer.setPasswordAuthenticator((username, password, serverSession) -> {
            logger.debug("authenticating: {} password: {}", username, password);
            return username != null && "changeit".equals(password);
        });
    }

    public void startServer() throws IOException{
        sshServer.start();
    }

    public void stopServer() throws IOException {
        sshServer.stop();
    }
}

我试过:
查找javadoc
在stackoverflow上找到类似的问题/解决方案
阅读github上的apache sshd文档
到目前为止我还没有找到答案。我找到了这个帖子,看起来我也需要ssh客户端。我走对了吗?
我是否需要ssh客户端将文件写入ssh服务器?
如何在运行apachesshd服务器时编写文件?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题