相关疑难解决方法(0)

如何在java中通过SFTP传输文件?

如何在java中通过SFTP传输文件?我想要SFTP客户端的示例代码.我想在我的应用程序中嵌入SFTP服务器,客户端应该能够将文件发送到我的应用程序.

PS:这是SFTP客户端的要求.而这个问题并不是其他两个问题的重复.

java sftp edi file b2b

18
推荐指数
1
解决办法
13万
查看次数

使用Apache Mina作为模拟/内存SFTP服务器进行单元测试

我在解决如何使用Apache Mina时遇到了一些麻烦.他们的文档对于我无能为力的大脑来说有点不足.我在Java SFTP服务器库中看到了有用的起始代码

我无法弄清楚的是如何使用它.我想设置一个单元测试来检查我的sftp代码,使用Mina作为一种模拟服务器,即能够编写单元测试,如:

@Before 
public void beforeTestSetup() {
    sshd = SshServer.setUpDefaultServer();
    sshd.setPort(22);
    sshd.setKeyPairProvider(new SimpleGeneratorHostKeyProvider("hostkey.ser"));

    List<NamedFactory<UserAuth>> userAuthFactories = new ArrayList<NamedFactory<UserAuth>>();
    userAuthFactories.add(new UserAuthNone.Factory());
    sshd.setUserAuthFactories(userAuthFactories);
    sshd.setPublickeyAuthenticator(new PublickeyAuthenticator());


    sshd.setCommandFactory(new ScpCommandFactory());

    List<NamedFactory<Command>> namedFactoryList = new ArrayList<NamedFactory<Command>>();
    namedFactoryList.add(new SftpSubsystem.Factory());
    sshd.setSubsystemFactories(namedFactoryList);

    try {
        sshd.start();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

@Test
public void testGetFile() {

}
Run Code Online (Sandbox Code Playgroud)

问题是要投入什么testGetFile().

我一直在浏览测试代码,想知道上面是否需要更多配置来指定根目录,用户名和身份验证密钥文件名.然后我需要使用客户端或我自己的SFTP api代码从中获取和提取文件?

我确信这是一个很好的API,没有太多的指导,有人可以帮忙吗?

java sftp unit-testing

13
推荐指数
1
解决办法
1万
查看次数

SFTP服务器在Apache Mina SSHD中设置用户/密码

我正在使用此示例,取自Java SFTP Server Library?:

public void setupSftpServer(){
    SshServer sshd = SshServer.setUpDefaultServer();
    sshd.setPort(22);
    sshd.setKeyPairProvider(new SimpleGeneratorHostKeyProvider("hostkey.ser"));

    List<NamedFactory<UserAuth>> userAuthFactories = new ArrayList<NamedFactory<UserAuth>>();
    userAuthFactories.add(new UserAuthNone.Factory());
    sshd.setUserAuthFactories(userAuthFactories);

    sshd.setCommandFactory(new ScpCommandFactory());

    List<NamedFactory<Command>> namedFactoryList = new ArrayList<NamedFactory<Command>>();
    namedFactoryList.add(new SftpSubsystem.Factory());
    sshd.setSubsystemFactories(namedFactoryList);

    try {
        sshd.start();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

但我需要为SFTP服务器设置用户登录和pw.我怎样才能做到这一点?谢谢

java sftp apache-mina

11
推荐指数
1
解决办法
4926
查看次数

Java的内存SFTP服务器有哪些好处?

我有一些代码,我需要编写一个测试,连接到供应商的SFTP服务器并将文件放在那里.现在测试是连接到他们的实际服务器,但我宁愿不这样做.理想情况下,我想在MockFtpServer中使用假的,内存中的服务器.我尝试使用那个,它在那里得到一部分,但在发出实际命令时死亡,因为它不识别它们.

有问题的代码是Mule ESB中的流程设置.

java sftp mule

10
推荐指数
1
解决办法
5900
查看次数

"找不到匹配的主机密钥类型" - Apache MINA SFTP服务器

我希望使用Apache MINA在Java中设置SFTP服务器.

它似乎开始正常,但当我尝试使用OpenSSH客户端连接到它时,我得到:

$ ssh localhost -p 2222
Unable to negotiate with ::1: no matching host key type found. Their offer: ssh-dss
$ ssh -V
OpenSSH_7.1p1, OpenSSL 1.0.2d 9 Jul 2015
Run Code Online (Sandbox Code Playgroud)

Java应用程序日志:

! java.lang.IllegalStateException: Unable to negotiate key exchange for server host key algorithms (client: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,ssh-rsa / server: ssh-dss)
! at org.apache.sshd.common.session.AbstractSession.negotiate(AbstractSession.java:1279) ~[sshd-core-1.0.0.jar:1.0.0]
Run Code Online (Sandbox Code Playgroud)

我的Maven依赖项是:

<dependency>
    <groupId>org.apache.sshd</groupId>
    <artifactId>sshd-sftp</artifactId>
    <version>0.11.0</version>
</dependency>

<dependency>
    <groupId>org.apache.sshd</groupId>
    <artifactId>sshd-core</artifactId>
    <version>1.0.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我的应用启动代码看起来像(从/sf/answers/628216081/复制)

import org.apache.sshd.common.NamedFactory;
import org.apache.sshd.server.Command;
import org.apache.sshd.server.SshServer;
import org.apache.sshd.server.auth.UserAuth;
import org.apache.sshd.server.auth.UserAuthNoneFactory;
import org.apache.sshd.server.command.ScpCommandFactory;
import …
Run Code Online (Sandbox Code Playgroud)

java apache-mina sshd

6
推荐指数
1
解决办法
4610
查看次数

标签 统计

java ×5

sftp ×4

apache-mina ×2

b2b ×1

edi ×1

file ×1

mule ×1

sshd ×1

unit-testing ×1