Exemplo n.º 1
0
            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)
Exemplo n.º 2
0
__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
Exemplo n.º 3
0
#!/usr/bin/env python

if __name__ == "__main__":
    from wssh import client

    client.invoke_shell("ws://10.1.1.91:7777/remote?key=secret")
Exemplo n.º 4
0
#!/usr/bin/env python

if __name__ == '__main__':
    from wssh import client

    client.invoke_shell('wss://localhost:8443/remote')
Exemplo n.º 5
0
                .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)