0

你知道如何在 apache mina ssh 客户端执行 ctl+c 命令吗?我正在尝试这样做

session.executeRemoteCommand("\u0003", output, StandardCharsets.UTF_8);

但我收到命令不能为空的错误。命令以 mina 为单位进行修剪。你有什么想法?

java.lang.IllegalArgumentException: Command may not be null/empty
    at org.apache.sshd.common.util.ValidateUtils.createFormattedException(ValidateUtils.java:213) ~[sshd-common-2.8.0.jar:2.8.0]
    at org.apache.sshd.common.util.ValidateUtils.throwIllegalArgumentException(ValidateUtils.java:179) ~[sshd-common-2.8.0.jar:2.8.0]
    at org.apache.sshd.common.util.ValidateUtils.checkTrue(ValidateUtils.java:156) ~[sshd-common-2.8.0.jar:2.8.0]
    at org.apache.sshd.common.util.ValidateUtils.checkNotNullAndNotEmpty(ValidateUtils.java:56) ~[sshd-common-2.8.0.jar:2.8.0]
    at org.apache.sshd.client.channel.ChannelExec.<init>(ChannelExec.java:44) ~[sshd-core-2.8.0.jar:2.8.0]
    at org.apache.sshd.client.session.AbstractClientSession.createExecChannel(AbstractClientSession.java:384) ~[sshd-core-2.8.0.jar:2.8.0]
    at org.apache.sshd.client.session.ClientSession.createExecChannel(ClientSession.java:183) ~[sshd-core-2.8.0.jar:2.8.0]
    at org.apache.sshd.client.session.ClientSession.executeRemoteCommand(ClientSession.java:275) ~[sshd-core-2.8.0.jar:2.8.0]
    at org.apache.sshd.client.session.ClientSession.executeRemoteCommand(ClientSession.java:246) ~[sshd-core-2.8.0.jar:2.8.0]
4

1 回答 1

0

我找到了解决方案。https://javahowtos.com/guides/108-security/389-connect-to-ssh-server-with-java-using-apache-mina-sshd.html

使用 ClientChannel 我可以向 ssh 服务器发送 Ctrl+C 命令。

于 2022-02-17T10:13:11.727 回答