'Creates a connection to the remote server.
:param host: Remote host
:type host: String
:param username: User name to connect to the remote host
:type username: String
:param port: Remote host port
:type port: Number'

def connect(self, host, username, port=2200, key_filename=None):

    if (not host):
        raise ValueError('Host    is    missing')
    if (not username):
        raise ValueError('Username    is    missing')
    if (not port):
        raise ValueError('Missing    port')
    self.host = host
    self.username = username
    self.port = port
    if (self.client is None):
        self.client = paramiko.SSHClient()
        self.client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        pkey = None
        if (key_filename is not None):
            pkey = _load_key(key_filename)
        self.client.connect(hostname=host, port=port, username=username, pkey=pkey)
    self.transport = self.client.get_transport()
    return (self.transport is not None)
