如何使用sshserver中的apache sshd打开连接的ssh客户端的“shell”通道。 RFC 4254提及
When either side wishes to open a new channel, it allocates a local number for the channel
这意味着服务器也可以打开一个到客户端的频道。
但我在org.apache.sshd.server.session.ServerSession
上看不到任何API ..?我错过了什么......?我的要求是从sshserver异步发送消息给sshclient。
答案 0 :(得分:0)
SSH2协议的设计是可扩展的,以防有类似这样的用例。但事实并非如此,并且没有可以从服务器端启动的渠道。
因此,即使有这样的请求,它也会在大多数客户端无效,正如您在搜索OpenSSH code时所看到的那样:
packet_start(SSH2_MSG_CHANNEL_OPEN);
从客户端创建新频道dispatch_set(SSH2_MSG_CHANNEL_OPEN, &server_input_channel_open);
在服务器中为此消息分配处理程序。没有其他类似的东西,所以它会被忽略或导致错误。