Skip to content

Instantly share code, notes, and snippets.

@daharon
Last active August 29, 2015 14:15
Show Gist options
  • Select an option

  • Save daharon/42d71fd9abf5f76e7cea to your computer and use it in GitHub Desktop.

Select an option

Save daharon/42d71fd9abf5f76e7cea to your computer and use it in GitHub Desktop.
OLD_PUB=
STACK=Dev
INSTANCE_SSH_PORT=22
INSTANCE_REGIONS=(
us-east-1
us-west-1
us-west-2
)
for INSTANCE_REGION in ${INSTANCE_REGIONS[@]}; do
echo "===========================================> Handling region: $INSTANCE_REGION"
SSH_CLI="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ConnectTimeout=5 -p $INSTANCE_SSH_PORT"
INSTANCE_HOSTS=$(aws ec2 describe-instances --filters Name=tag:Stack,Values=$STACK --filter Name=instance-state-name,Values=running --region $INSTANCE_REGION | grep 'PublicDnsName' | awk -F'"' '{print $4}')
for instance in $INSTANCE_HOSTS ; do
echo $instance
$SSH_CLI -i ~/.ssh/devops.pem ubuntu@${instance} "sed -i '\|$OLD_PUB|d' /home/ubuntu/.ssh/authorized_keys"
$SSH_CLI -i ~/.ssh/devops.pem ubuntu@${instance} "sudo sed -i '\|$OLD_PUB|d' /root/.ssh/authorized_keys"
done
#be knife ssh -m "${INSTANCE_HOSTS[@]}" "YOUR BASH CMD HERE" -C 20 -i $INSTANCE_KEY -x ubuntu
echo "===========================================> Finished handling region: $INSTANCE_REGION"
done
NEW_PUB=
STACK=Dev
INSTANCE_SSH_PORT=22
INSTANCE_REGIONS=(
us-east-1
us-west-1
us-west-2
)
for INSTANCE_REGION in ${INSTANCE_REGIONS[@]}; do
echo "===========================================> Handling region: $INSTANCE_REGION"
SSH_CLI="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ConnectTimeout=5 -p $INSTANCE_SSH_PORT"
INSTANCE_HOSTS=$(aws ec2 describe-instances --filters Name=tag:Stack,Values=$STACK --filter Name=instance-state-name,Values=running --region $INSTANCE_REGION | grep 'PublicDnsName' | awk -F'"' '{print $4}')
for instance in $INSTANCE_HOSTS ; do
echo $instance
$SSH_CLI -i ~/.ssh/devops.pem ubuntu@${instance} "echo '$NEW_PUB' >> /home/ubuntu/.ssh/authorized_keys"
$SSH_CLI -i ~/.ssh/devops.pem ubuntu@${instance} "sudo bash -c \"echo '$NEW_PUB' >> /root/.ssh/authorized_keys\""
done
#be knife ssh -m "${INSTANCE_HOSTS[@]}" "YOUR BASH CMD HERE" -C 20 -i $INSTANCE_KEY -x ubuntu
echo "===========================================> Finished handling region: $INSTANCE_REGION"
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment