Ошибка целостности пакета Twisted Conch

Когда я подключаюсь с помощью Twisted conch, я получаю ошибку целостности пакета (осталось 6 байт) по адресу serverloop.c:980 в /var/log/secure.log. После этого соединение прерывается ("Отключение: ошибка целостности пакета")

Сервер является системой VMware, между системами нет брандмауэров или других средств защиты. Я также вижу, что аутентификация проходит успешно (принят пароль для порта ssh2).

Мой ssh.py почти такой же, как в примере:

class SSHCommandChannel(channel.SSHChannel):
    name = "session"
    def __init__(self, eventparser, *args, **kwargs):
        channel.SSHChannel.__init__(self, *args, **kwargs)

    def _cbSendRequest(self, data):
        print("%s" % data)
        self.conn.sendEOF(self)

    def channelOpen(self, data):
        d = self.conn.sendRequest(self, 'exec', common.NS(data), wantReply=True)
        d.addCallback(self._cbSendRequest)
        return None

    def extReceived(self, dataType, data):
        self.dataRecieved(data)

    def dataRecieved(self, data):
        print("w00t: %s" % data)

    def closed(self):
        print("Channel closed =(")

Я понятия не имею, как продолжить мои поиски, чтобы заставить этот пример работать. Любой совет будет принят во внимание.

1 ответ

Я предполагаю, что вы передаете странные данные exec запрос. Я не припомню, что представляют собой данные, передаваемые на клиентскую часть канала, но вы, вероятно, не хотите отправлять их обратно на сервер. Сервер ожидает выполнения команды в кодировке NS, а не случайных данных. К сожалению, я не могу воспроизвести ошибку, которую вы видите здесь, на моем Mac, но, надеюсь, это указывает вам верное направление!

Другие вопросы по тегам