我正在使用 openSSH (8.0p1) 并使用 netmiko 客户端向服务器发送一些数据。我看到服务器的回复有延迟。为了调试它,我将日志放入 openSSH 代码中以查看可能导致延迟的原因,并发现延迟很可能介于 shell 返回数据和 sshd(用户权限的孩子)正在加密数据之间。
直到现在我已经跟踪到这里的代码
1. Data from client reaches (after getting read event in select) to => server_loop2 ->
channel_handler
2. Channel_handler calls “channel_post_open” which in turn calls following 4 functions
a. channel_handle_rfd => Data from shell to sshd
b. channel_handle_wfd =>Data to shell from sshd
c. channel_handle_efd
d. channel_check_window =>
3. server_loop2 -> process_input => This process input from client and store in ssh buffer.
4. -> process_output => send buffered data to SSH client.
我看到以下函数正在加密数据“ssh_packet_send2_wrapped”,但我不确定在从 shell 返回数据(channel_handle_rfd)和将数据写入客户端(process_output)之间调用了哪些函数。
有人可以帮我在功能之间找到,以便我可以放置日志来检查导致延迟的特定功能吗?