Skip to content

eic_curl_authorized_keys returns incorrect exit code in some cases #40

@pagelypete

Description

@pagelypete

In this section of the code curl is called with -f which causes it to return exit code 22 when the HTTP response code is >= 400. This means that when the user doesn't have any keys for example, and the metadata service returns 404, the script exits with code 22 due to the set -e in the script.

I discovered this when calling eic_run_authorized_keys as an additional fallback for my AuthorizedKeysCommand script, I was executing:

exec /usr/share/ec2-instance-connect/eic_run_authorized_keys "${@}"

Which would then cause my own script to return exit code 22, and thus no keys produced by the calling script were accepted at all either due to the non-zero code.

I am filing a bug because the logic in the script shows an intention for this to be an exit 0 scenario.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions