print >> sys.stderr, 'Error: Identity file "{0}" does not exist' \ .format(args.key) sys.exit(1) key = file(args.key).read() params = { 'password': password, 'port': str(args.ssh_port), 'private_key': key, 'key_passphrase': key_passphrase, 'run': ' '.join(args.command) if args.command else None, } # Filter empty parameters params = dict(filter(lambda (k, v): v is not None, params.iteritems())) endpoint = 'ws://{serv_host}:{serv_port}/wssh/{host}/{user}?{params}' \ .format( serv_host=args.host, serv_port=args.port, host=urllib2.quote(hostname), user=urllib2.quote(username), params='&'.join(['{0}={1}'.format(k, urllib2.quote(v)) for (k, v) in params.iteritems()])) try: client.invoke_shell(endpoint) except client.ConnectionError as e: print >>sys.stderr, 'wssh: {0}'.format(e.message or 'Connection error') else: print >>sys.stderr, 'Connection to {0} closed.'.format(hostname)
__FILENAME__ = client #!/usr/bin/env python if __name__ == '__main__': from wssh import client client.invoke_shell('ws://*****:*****@app.route('/remote') def index(): # Abort if this is not a websocket request if not request.environ.get('wsgi.websocket'): app.logger.error('Abort: Request is not WebSocket upgradable') raise BadRequest() # Here you can perform authentication and sanity checks
#!/usr/bin/env python if __name__ == "__main__": from wssh import client client.invoke_shell("ws://10.1.1.91:7777/remote?key=secret")
#!/usr/bin/env python if __name__ == '__main__': from wssh import client client.invoke_shell('wss://localhost:8443/remote')
.format(args.key) sys.exit(1) key = file(args.key).read() params = { 'password': password, 'port': str(args.ssh_port), 'private_key': key, 'key_passphrase': key_passphrase, 'run': ' '.join(args.command) if args.command else None, } # Filter empty parameters params = dict(filter(lambda (k, v): v is not None, params.iteritems())) endpoint = 'ws://{serv_host}:{serv_port}/wssh/{host}/{user}?{params}' \ .format( serv_host=args.host, serv_port=args.port, host=urllib2.quote(hostname), user=urllib2.quote(username), params='&'.join(['{0}={1}'.format(k, urllib2.quote(v)) for (k, v) in params.iteritems()])) try: client.invoke_shell(endpoint) except client.ConnectionError as e: print >> sys.stderr, 'wssh: {0}'.format(e.message or 'Connection error') else: print >> sys.stderr, 'Connection to {0} closed.'.format(hostname)