单个 SSH 会话中的多个通道
Multiple channels in a single SSH session
我正在调试 OpenSSH 代码,似乎在单个 SSH 会话(单个连接的子服务器)上分配了多个通道。
我的查询在这里可能很幼稚:
Under what conditions can multiple channels be opened?
What are the SSH message flows which lead to multiple channels? A message flow chart will be very helpful.
Is it correct to free channels[0] in the case below?
(gdb) p channels[0]
= (Channel *) 0xb0f33e20
(gdb) p channels[0]->rfd
= 0xd
(gdb) p channels[0]->efd
= 0xffffffff
(gdb) p channels[0]->wfd
= 0xffffffff
(gdb) p channels[1]->wfd
= 0x9
(gdb) p channels[1]->efd
= 0xffffffff
(gdb) p channels[1]->rfd
= 0x9
Under what conditions can multiple channels be opened?
每个通道都是 X11 转发、TCP 端口转发(可能有更多类型)、UNIX 域套接字转发(或 ssh-agent
套接字)或 MUX 代理。咨询 source code 描述类型是一个好的开始。如果客户端使用 command-line 选项(-X
、-L
、-R
、-D
、-A
、... ) 在 ssh
.
的手册页中进行了描述
What are the SSH message flows which lead to multiple channels? A message flow chart will be very helpful.
如果您将 运行 OpenSSH 客户端 and/or 服务器处于调试模式 (LogLevel DEBUG3
),您将获得很多有用的信息,对于各种用例正在交换哪些消息.
Is it correct to free channels[0] in the case below?
很可能不是,但不清楚你在这里问的是什么以及上下文是什么。这显然是有效的通道,读取文件描述符指向 FD 0x0D
,因此您可能期望在某个时候会有一些东西要读取。
我正在调试 OpenSSH 代码,似乎在单个 SSH 会话(单个连接的子服务器)上分配了多个通道。
我的查询在这里可能很幼稚:
Under what conditions can multiple channels be opened?
What are the SSH message flows which lead to multiple channels? A message flow chart will be very helpful.
Is it correct to free channels[0] in the case below?
(gdb) p channels[0]
= (Channel *) 0xb0f33e20
(gdb) p channels[0]->rfd
= 0xd
(gdb) p channels[0]->efd
= 0xffffffff
(gdb) p channels[0]->wfd
= 0xffffffff
(gdb) p channels[1]->wfd
= 0x9
(gdb) p channels[1]->efd
= 0xffffffff
(gdb) p channels[1]->rfd
= 0x9
Under what conditions can multiple channels be opened?
每个通道都是 X11 转发、TCP 端口转发(可能有更多类型)、UNIX 域套接字转发(或 ssh-agent
套接字)或 MUX 代理。咨询 source code 描述类型是一个好的开始。如果客户端使用 command-line 选项(-X
、-L
、-R
、-D
、-A
、... ) 在 ssh
.
What are the SSH message flows which lead to multiple channels? A message flow chart will be very helpful.
如果您将 运行 OpenSSH 客户端 and/or 服务器处于调试模式 (LogLevel DEBUG3
),您将获得很多有用的信息,对于各种用例正在交换哪些消息.
Is it correct to free channels[0] in the case below?
很可能不是,但不清楚你在这里问的是什么以及上下文是什么。这显然是有效的通道,读取文件描述符指向 FD 0x0D
,因此您可能期望在某个时候会有一些东西要读取。