在 ssh 服务器上打开通道
Open channel on ssh Server
如何使用来自 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。
SSH2 协议被设计成可扩展的,以防有这样的用例。但目前还不是这样,没有可以从服务器端启动的通道。
所以即使有这样的请求,在大多数客户端也是无效的,你在OpenSSH code中搜索可以看到:
packet_start(SSH2_MSG_CHANNEL_OPEN);
从客户端创建一个新频道
dispatch_set(SSH2_MSG_CHANNEL_OPEN, &server_input_channel_open);
在服务器中为此消息分配处理程序。
反之则不然,因此它会被忽略或导致错误。
如何使用来自 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。
SSH2 协议被设计成可扩展的,以防有这样的用例。但目前还不是这样,没有可以从服务器端启动的通道。
所以即使有这样的请求,在大多数客户端也是无效的,你在OpenSSH code中搜索可以看到:
packet_start(SSH2_MSG_CHANNEL_OPEN);
从客户端创建一个新频道dispatch_set(SSH2_MSG_CHANNEL_OPEN, &server_input_channel_open);
在服务器中为此消息分配处理程序。
反之则不然,因此它会被忽略或导致错误。