mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-07-17 02:57:33 -05:00
Add exec/subsystem versions of SSH proxying.
This is a simple tweak to the existing in-process SSH jump host support, where instead of opening a direct-tcpip channel to the destination host, we open a session channel and run a process in it to make the connection to the destination. So, where the existing jump host support replaced a local proxy command along the lines of "plink %proxyhost -nc %host %port", this one replaces "plink %proxyhost run-some-command". Also added a corresponding option to use a subsystem to make the connection. (Someone could configure an SSH server to support specific subsystem names for particular destinations, or a general schema of subsystem names that include the destination address in some standard format.) To avoid overflowing the already-full Proxy config panel with an extra subtype selector, I've put these in as additional top-level proxy types, so that instead of just PROXY_SSH we now have three PROXY_SSH_foo.
This commit is contained in:
4
config.c
4
config.c
@ -1738,7 +1738,9 @@ void proxy_type_handler(union control *ctrl, dlgparam *dlg,
|
||||
ADD(PROXY_SOCKS4, "SOCKS 4");
|
||||
ADD(PROXY_HTTP, "HTTP CONNECT");
|
||||
if (ssh_proxy_supported) {
|
||||
ADD(PROXY_SSH, "SSH to proxy and use port forwarding");
|
||||
ADD(PROXY_SSH_TCPIP, "SSH to proxy and use port forwarding");
|
||||
ADD(PROXY_SSH_EXEC, "SSH to proxy and execute a command");
|
||||
ADD(PROXY_SSH_SUBSYSTEM, "SSH to proxy and invoke a subsystem");
|
||||
}
|
||||
if (ctrl->generic.context.i & PROXY_UI_FLAG_LOCAL) {
|
||||
ADD(PROXY_CMD, "Local (run a subprogram to connect)");
|
||||
|
Reference in New Issue
Block a user