https://bugzilla.redhat.com/show_bug.cgi?id=2185785
--- Comment #1 from Lukas Slebodnik lslebodn@redhat.com --- The man page for ssh_config says:
ProxyCommand Specifies the command to use to connect to the server. The command string extends to the end of the line, and is executed using the user's shell ‘exec’ directive to avoid a lingering shell process.
Arguments to ProxyCommand accept the tokens described in the TOKENS section. The command can be basically anything, and should read from its standard input and write to its standard output. It should eventually connect an sshd(8) server running on some machine, or execute sshd -i somewhere. Host key management will be done using the Hostname of the host being connected (defaulting to the name typed by the user). Setting the command to none disables this option entirely. Note that CheckHostIP is not available for connects with a proxy command.
This directive is useful in conjunction with nc(1) and its proxy support. For example, the following directive would connect via an HTTP proxy at 192.0.2.0:
ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p
* https://man.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man5/ssh_config.5
I am not expert but maybe libssh should take care of "closing" `ProxyCommand`