# `ProxyCommand` support

class paramiko.proxy.ProxyCommand(command_line)

  Wraps a subprocess running ProxyCommand-driven programs.

  This class implements a the socket-like interface needed by the `Transport` and `Packetizer` classes. Using this class instead of a regular socket makes it possible to talk with a Popen’d command that will proxy traffic between the client and a server hosted in another machine.

  Instances of this class may be used as context managers.

  __init__(command_line)

    Create a new CommandProxy instance. The instance created by this class can be passed as an argument to the `Transport` class.

    Parameters

      command_line (str) – the command that should be executed and used as the proxy.

  recv(size)

    Read from the standard output of the forked program.

    Parameters

      size (int) – how many chars should be read

    Returns

      the string of bytes read, which may be shorter than requested

  send(content)

    Write the content received from the SSH client to the standard input of the forked command.

    Parameters

      content (str) – string to be sent to the forked command