'This is MSG_USERAUTH_PK.  Our public key is valid, so we create a
signature and try to authenticate with it.'

def ssh_USERAUTH_PK_OK_publickey(self, packet):

    publicKey = self.lastPublicKey
    b = (((((((NS(self.transport.sessionID) + chr(MSG_USERAUTH_REQUEST)) + NS(self.user)) + NS(self.instance.name)) + NS('publickey')) + '\x01') + NS(publicKey.sshType())) + NS(publicKey.blob()))
    d = self.signData(publicKey, b)
    if (not d):
        self.askForAuth('none', '')
        return
    d.addCallback(self._cbSignedData)
    d.addErrback(self._ebAuth)
