Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- set -eu
- if [ "$#" -lt "2" ]; then
- echo >&2 "Usage: h-ssh <ENV> <APP> [SSH_ARGS]"
- exit 1
- fi
- ENV=$1
- APP=$2
- shift 2
- pickhost() {
- local app=$1
- local env=$2
- aws ec2 describe-instances \
- --filters "Name=tag:application,Values=${app}" \
- "Name=tag:environment,Values=${env}" \
- "Name=instance-state-name,Values=running" \
- --query "Reservations[0].Instances[0].PublicDnsName" \
- --output text
- }
- if ! HOSTNAME=$(pickhost "$APP" "$ENV"); then
- echo >&2 "Error running awscli! Aborting."
- exit 1
- elif [ "$HOSTNAME" = "None" ]; then
- echo >&2 "Couldn't find any matching hosts! Is that the right application name?"
- exit 1
- fi
- ssh \
- -l ec2-user \
- -o UserKnownHostsFile=/dev/null \
- -o StrictHostKeychecking=no \
- "$HOSTNAME" \
- "$@"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement