Exemplo n.º 1
0
def test(user, host, port, key_files):
    local_keys = load_local_keys(key_files)

    ssh_controller = SSHController(user, host, port)

    try:
        remote_keys = [k for k in get_authorized_keys(ssh_controller) if k]
    except NoSuchFileError:
        logging.info('{c.user}@{c.host}:{c.port} - not found authorized_keys'
                            .format(c=ssh_controller))
        remote_keys = []

    oks = []

    for key_file in key_files:
        ok = local_keys[key_file] in remote_keys
        oks.append(ok)
        print('{0}: {1}'.format(key_file, 'ok' if ok else 'fail'))

    return not int(all(oks))
Exemplo n.º 2
0
def test(user, host, port, key_files):
    local_keys = load_local_keys(key_files)

    ssh_controller = SSHController(user, host, port)

    try:
        remote_keys = [k for k in get_authorized_keys(ssh_controller) if k]
    except NoSuchFileError:
        logging.info(
            '{c.user}@{c.host}:{c.port} - not found authorized_keys'.format(
                c=ssh_controller))
        remote_keys = []

    oks = []

    for key_file in key_files:
        ok = local_keys[key_file] in remote_keys
        oks.append(ok)
        print('{0}: {1}'.format(key_file, 'ok' if ok else 'fail'))

    return not int(all(oks))
Exemplo n.º 3
0
def add(user, host, port, key_files):
    local_keys = load_local_keys(key_files)

    ssh_controller = SSHController(user, host, port)

    try:
        remote_keys = get_authorized_keys(ssh_controller)
    except sh.ErrorReturnCode_1:
        sys.exit(1)
    except NoSuchFileError:
        create_authorized_keys_file(ssh_controller)
        remote_keys = []

    new_keys = []
    already_keys = []

    for key_file in key_files:
        key = local_keys[key_file]

        if key not in remote_keys:
            new_keys.append(key)
        else:
            already_keys.append(key_file)

    if already_keys:
        logging.info(
            '{c.user}@{c.host}:{c.port} - already in authorized_keys: "{0}"'.
            format('", "'.join(already_keys), c=ssh_controller))

    if new_keys:
        keys = remote_keys + new_keys

        scp_controller = SCPController(user, host, port)
        scp_controller.password = ssh_controller.password

        try:
            set_authorized_keys(scp_controller, keys)
        except sh.ErrorReturnCode_1:
            sys.exit(1)
Exemplo n.º 4
0
def add(user, host, port, key_files):
    local_keys = load_local_keys(key_files)

    ssh_controller = SSHController(user, host, port)

    try:
        remote_keys = get_authorized_keys(ssh_controller)
    except sh.ErrorReturnCode_1:
        sys.exit(1)
    except NoSuchFileError:
        create_authorized_keys_file(ssh_controller)
        remote_keys = []

    new_keys = []
    already_keys = []

    for key_file in key_files:
        key = local_keys[key_file]

        if key not in remote_keys:
            new_keys.append(key)
        else:
            already_keys.append(key_file)

    if already_keys:
        logging.info('{c.user}@{c.host}:{c.port} - already in authorized_keys: "{0}"'
                        .format('", "'.join(already_keys), c=ssh_controller))

    if new_keys:
        keys = remote_keys + new_keys

        scp_controller = SCPController(user, host, port)
        scp_controller.password = ssh_controller.password

        try:
            set_authorized_keys(scp_controller, keys)
        except sh.ErrorReturnCode_1:
            sys.exit(1)