Tag: apache mina

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> userAuthFactories = new ArrayList<NamedFactory>(); userAuthFactories.add(new UserAuthNone.Factory()); sshd.setUserAuthFactories(userAuthFactories); sshd.setCommandFactory(new ScpCommandFactory()); List<NamedFactory> namedFactoryList = new ArrayList<NamedFactory>(); namedFactoryList.add(new SftpSubsystem.Factory()); sshd.setSubsystemFactories(namedFactoryList); try { sshd.start(); } catch (Exception e) { e.printStackTrace(); } } 但是我需要为SFTP服务器设置用户登录和pw。 我怎样才能做到这一点? 谢谢

如何从服务器获取客户端套接字的确认?

我有一个客户端套接字,它向服务器发送消息。我想在服务器收到消息时在客户端获得确认。 是否有可能获得该确认。 我使用apache mina开发了客户端。 提前致谢。

Maven:主线程中的NoClassDefFoundError

我目前正在构建一个Apache-Mina Server应用程序。 我正在使用Maven来构建它。 当我尝试运行jar时,我收到以下错误: Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/mina/filter/codec/ProtocolCodecFactory Caused by: java.lang.ClassNotFoundException: org.apache.mina.filter.codec.Protoc olCodecFactory at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) Could not find the main class: de.fr1zle.gpsserver.GpsServer. Program will exit. 在日食中运行不是问题。 这就是生成的MANIFEST的样子: Manifest-Version: 1.0 Archiver-Version: Plexus Archiver Created-By: Apache Maven Built-By: fr1zle Build-Jdk: 1.6.0_23 Main-Class: de.fr1zle.gpsserver.GpsServer Class-Path: […]

如何在Apache Mina sshd-core版本0.14.0中覆盖getVirtualUserDir()

我使用Apache Mina sshd-core版本0.10.0。由于文件上传的一些问题我不得不将版本更改为0.14.0。在那里我无法覆盖getVirtualUserDir()方法。 以下是我的示例代码, sshd.setFileSystemFactory(new NativeFileSystemFactory() { @Override public FileSystemView createFileSystemView(final Session session) { return new NativeFileSystemView(session.getUsername(), false) { @Override public String getVirtualUserDir() { return “C:/root”; } }; }; }); 我想知道如何在Apache Mina sshd-core版本0.14.0中克服这个问题。 谢谢。

如何在Java中使用Apache Mina Sshd Server设置根目录

我使用Apache Mina Sshd API在java中启动本地SFTP服务器。在SFTP客户端我使用Jcraft jsch API创建我的SFTP客户端。我成功启动了服务器。问题是我想写一些unit testing用例到检查客户端是否可以将某些文件放入服务器的根目录。 目前我的SFTP服务器没有任何根目录。所以我想知道是否有任何方法来设置服务器的根目录。 例如: C:\ sftp如何将此路径设置为我的服务器根目录。然后,客户端每次与服务器连接时都可以读取和写入文件。谢谢。 public class SftpServerStarter { private SshServer sshd; private final static Logger logger = LoggerFactory.getLogger(SftpServerStarter.class); public void start(){ sshd = SshServer.setUpDefaultServer(); sshd.setPort(22); sshd.setHost(“localhost”); sshd.setPasswordAuthenticator(new MyPasswordAuthenticator()); sshd.setPublickeyAuthenticator(new MyPublickeyAuthenticator()); sshd.setKeyPairProvider(new SimpleGeneratorHostKeyProvider()); sshd.setSubsystemFactories(Arrays.<NamedFactory>asList(new SftpSubsystem.Factory())); sshd.setCommandFactory(new ScpCommandFactory()); try { logger.info(“Starting …”); sshd.start(); logger.info(“Started”); } catch (IOException e) { // […]