0

Twisted conch を使用して接続すると、/var/log/secure.log の serverloop.c:980 でパケット整合性エラー (残り 6 バイト) が発生します。その後、接続が切断されます (「切断中: パケット整合性エラー」)。

サーバーは 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 =(")

この例を機能させるための探求を続ける方法がわかりません。アドバイスをいただければ幸いです。

4

1 に答える 1

0

私の推測では、execリクエストに奇妙なデータを渡していると思います。チャネルのクライアント側に渡されたデータが何であるかは覚えていませんが、おそらくそれをサーバーに送り返したくないでしょう。サーバーは、ランダム データではなく、NS でエンコードされたコマンドが実行されることを期待しています。残念ながら、ここに表示されているエラーを私の Mac で再現することはできませんが、これで正しい方向に進むことを願っています!

于 2013-06-18T12:40:54.080 に答える