خرید بک لینک

Vote count: 0

I am willing to deploy on my server an SSH daemon which I can know what commands was executed. But I don't know how to get the user's commands. I achieve a SSH server based on twisted.conch.ssh.session. I can get all stdout in outReceived of SSHSessionProcessProtocol, But it is difficult to extract the user's commands from the stdout accurately, because that rely heavily on the prompt of Linux($PS1).

   import sys  
   import checkers  
   from twisted.python import components, log, logfile  
   from twisted.cred import portal  
   from twisted.inteet import reactor  
   from twisted.conch.ssh import factory, keys, session, filetransfer  
   from twisted.conch.unix import UnixSSHRealm, SSHSessionForUnixConchUser,    UnixConchUser  
   import keyvalue  
   if __name__ == "__main__":  
      sshFactory = factory.SSHFactory()  
      sshFactory.portal = portal.Portal(UnixSSHRealm())  
      sshFactory.portal.registerChecker(checkers.UseamePasswordChecker())  

      sshFactory.publicKeys = {
        'ssh-rsa': keys.Key.fromString(keyvalue.publicKey)}
      sshFactory.privateKeys = {
        'ssh-rsa': keys.Key.fromString(keyvalue.privateKey)}
      components.registerAdapter(
        SSHSessionForUnixConchUser, UnixConchUser, session.ISession)
      log.startLogging(sys.stdout)

      reactor.listenTCP(2222, sshFactory)
      reactor.run()

asked 2 mins ago

برچسب: نویسنده: استخدام کار تاريخ: پنجشنبه 2 ارديبهشت 1395 ساعت: 9:48

صفحه بندی