'Get a SSH client to a remote server
@param ip_address the server floating or fixed IP address to use
for ssh validation
@param username name of the Linux account on the remote server
@param private_key the SSH private key to use
@param server: server dict, used for debugging purposes
@return a RemoteClient object'

def get_remote_client(self, ip_address, username=None, private_key=None, server=None):

    if (username is None):
        username = CONF.validation.image_ssh_user
    if (CONF.validation.auth_method == 'keypair'):
        password = None
        if (private_key is None):
            private_key = self.keypair['private_key']
    else:
        password = CONF.validation.image_ssh_password
        private_key = None
    linux_client = remote_client.RemoteClient(ip_address, username, pkey=private_key, password=password, server=server, servers_client=self.servers_client)
    linux_client.validate_authentication()
    return linux_client
