Ошибка целостности пакета 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, но, надеюсь, это указывает вам верное направление!