所以我想做的是创建创建单元测试,检查被调用的命令(通过ssh连接在shell上)是否具有正确的响应。问题是我看不懂这些回复。关于Apache MINA的教程并不多,所以我认为也许有些人可以帮助我。这是一个代码 @Before public void setUpSSHd() { sshd=SshServer.setUpDefaultServer(); sshd.setPort(22999); sshd.setKeyPairProvider(new SimpleGeneratorHostKeyProvider("hos…

2020年10月23日 0条评论 79点热度 阅读全文

我编写了一个简单的测试项目,该项目会打开9123端口一段时间并退出: import java.io.IOException; import java.net.InetSocketAddress; import java.nio.charset.Charset; import java.util.Date; import org.apache.mina.core.service.IoAcceptor; import org.apache.mina.core.service.IoHandler; import org.…

2020年9月24日 0条评论 54点热度 阅读全文

方案是,我需要为执行SFTP文件传输的应用程序编写测试,并且需要在具有私钥身份验证实现的内存/嵌入式SFTP服务器中使用,以便可以测试文件传输在嵌入式/内存中是否可以正常运行具有私钥(.pem)文件身份验证的服务器。 我经历了互联网的勇气,我最接近的是Apache Mina Server as discussed in this S.O. question 目前,我正在使用用户名和密码身份验证,如下所示: SshServer sshd = SshServer.setUpDefaultServer(); sshd.s…

2020年7月3日 0条评论 55点热度 阅读全文

我遇到了一个关于MINA的奇怪问题。我有基于apache Mina框架的服务器应用程序。我在服务器端使用ExecutorFilter。该应用程序可以在我的计算机上完美运行,但是当我在客户端计算机上安装该应用程序时,它会引发“异常”。 这是我在客户端计算机上遇到的错误: java.lang.NoSuchMethodError: org.apache.mina.filter.executor.ExecutorFilter.<init>(II[Lorg/apache/mina/core/session/IoE…

2020年1月21日 0条评论 39点热度 阅读全文

我正在尝试获取服务器的公钥。这是我尝试的: val serverKey = sshClient.connect("dyn mem", "localhost", "2222") .verify() .getSession() .getKex() .getServerKey() 问题是得到的结果 getServerKey()为null ... 如何使用Apache SSHD客户端获取SSH服务器的公钥。 解决方案如下: connect()和后续的密钥交换都是异步操作,因此需要等待两次。例如。 : ConnectFutu…

2020年1月19日 0条评论 50点热度 阅读全文

我正在尝试连接到SSL服务器,这需要我进行身份验证。为了在Apache MINA上使用SSL,我需要一个合适的JKS文件。但是,仅给我一个.PEM文件。 如何从PEM文件创建JKS文件? 解决方案如下: 首先,将您的证书转换为DER格式: openssl x509 -outform der -in certificate.pem -out certificate.der 然后,将其导入密钥库中: keytool -import -alias your-alias -keystore cacerts -file ce…

2019年10月14日 0条评论 47点热度 阅读全文

它们都提供大致相同的功能。我应该选择哪一个来开发我的高性能TCP服务器?优点和缺点是什么? 引用链接: Apache MINA(source) Netty(source) 解决方案如下: 虽然MINA和Netty具有相同的抱负,但它们在实践中却大相径庭,因此您应该仔细考虑自己的选择。我们很幸运,因为我们在MINA方面拥有丰富的经验,并且有时间陪伴Netty。我们特别喜欢更简洁的API和更好的文档。在纸上的表现似乎也更好。更重要的是,我们知道Trustin Lee会随时回答我们遇到的任何问题,他当然做到了。 我们发现…

2019年7月29日 0条评论 64点热度 阅读全文

我使用Apache Mina SSHD创建SFTP服务器。我想找出客户端IP连接到我的服务器时的IP(通过FileZilla,WinSCP)。但是,当我尝试在ServerSession中找到它时,却没有。 在哪里可以找到此信息? 谢谢。 解决方案如下: 使用 ServerSession.getIoSession 检索 IoSession 实例。然后调用 IoSession.getRemoteAddress() serverSession.getIoSession().getRemoteAddress()

2019年7月15日 0条评论 53点热度 阅读全文

我正在使用Apache Mina创建服务器来接受UDP客户端请求。我已经阅读了Apache Mina提供的有关UDP Server & UDP Client的官方文档。但是,我希望知道服务器何时收到消息,是否可以使用相同的会话写回UDP客户端(我知道UDP在网络层是无连接的,但是我可以在应用层获得远程主机的IP和PORT ),这样UDP客户端会收到一条消息。我知道这可能是TCP,但对UDP有点困惑。我知道这可能不完全基于Java,而是更多基于网络层的问题。如果有人能为我解决这个问题,将不胜感激。 解决方案如…

2019年7月14日 0条评论 51点热度 阅读全文

如果我有一个服务器侦听如下配置的端口80和8080,当收到消息时,如何确定客户端连接到哪个本地端口? acceptor = new NioSocketAcceptor(); acceptor.setHandler(new MyConnectionHandler()); Set<SocketAddress> addresses = new HashSet<SocketAddress>(); addresses.add(new InetSocketAddress(host, 80)); addr…

2019年5月8日 0条评论 41点热度 阅读全文