@classmethod
    def using_ssh(cls, host, port, username, private_key):
        return cls(initial_command_arguments=(
            b"ssh",
            b"-q",  # suppress warnings
            b"-i", private_key.path,
            b"-l", username,
            # We're ok with unknown hosts; we'll be switching away from
            # SSH by the time Flocker is production-ready and security is
            # a concern.
            b"-o", b"StrictHostKeyChecking=no",
            # The tests hang if ControlMaster is set, since OpenSSH won't
            # ever close the connection to the test server.
            b"-o", b"ControlMaster=no",
            # Some systems (notably Ubuntu) enable GSSAPI authentication which
            # involves a slow DNS operation before failing and moving on to a
            # working mechanism.  The expectation is that key-based auth will
            # be in use so just jump straight to that.  An alternate solution,
            # explicitly disabling GSSAPI, has cross-version platform and
            # cross-version difficulties (the options aren't always recognized
            # and result in an immediate failure).  As mentioned above, we'll
            # switch away from SSH soon.
            b"-o", b"PreferredAuthentications=publickey",
            b"-p", b"%d" % (port,), host), quote=quote)
Create a ``ProcessNode`` that communicate over SSH.
dataset/ETHPy150Open ClusterHQ/flocker/flocker/common/_ipc.py/ProcessNode.using_ssh