diff options
Diffstat (limited to 'ssh.py')
-rw-r--r-- | ssh.py | 47 |
1 files changed, 47 insertions, 0 deletions
@@ -0,0 +1,47 @@ +import paramiko +import time + +class Handler(object): + def __init__(self, sock, connections): + self.sock = sock + self.connections = connections + self.which + + def show(self): + pass + +class Connection(object): + def __init__(self, client, connection_id): + self.transport = paramiko.Transport(client) + self.transport.add_server_key(paramiko.RSAKey(filename='test_rsa.key')) + + def run(self, termcast_connections): + self.transport.start_server(server=Server()) + chan = self.transport.accept(None) + + if len(termcast_connections) > 0: + chan.send(termcast_connections.values().__iter__().__next__().handler.get_term()) + else: + chan.send("no data for doy\r\n") + + time.sleep(5) + chan.close() + +class Server(paramiko.ServerInterface): + def check_channel_request(self, kind, chanid): + return paramiko.OPEN_SUCCEEDED + + def check_channel_pty_request(self, channel, term, width, height, pixelwidth, pixelheight, modes): + return True + + def check_channel_shell_request(self, channel): + return True + + def check_auth_password(self, username, password): + if password == "blah": + return paramiko.AUTH_SUCCESSFUL + return paramiko.AUTH_FAILED + + def get_allowed_auths(self, username): + return "password" + |