Skip to content

Instantly share code, notes, and snippets.

@Tatsh
Created June 22, 2015 16:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Tatsh/0b5da27f0865507d5f5b to your computer and use it in GitHub Desktop.
Save Tatsh/0b5da27f0865507d5f5b to your computer and use it in GitHub Desktop.
`/etc/local.d/public-keys.start` fixed for systemd
max_tries=10
i=0
while ((i < max_tries)); do
wget -q -r --retry-connrefused --tries=10 --timeout=60 -O /tmp/my-key http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
if (($? == 0)); then
break
fi
((i++))
done
if ((i >= max_tries)); then
exit 1
fi
[ ! -e /home/ec2-user ] && cp -r /etc/skel /home/ec2-user && chown -R ec2-user /home/ec2-user && chgrp -R ec2-user /home/ec2-user
if ! [ -d /home/ec2-user/.ssh ]; then
mkdir -p /home/ec2-user/.ssh
chmod 700 /home/ec2-user/.ssh
chown ec2-user /home/ec2-user/.ssh
chgrp ec2-user /home/ec2-user/.ssh
fi
cat /tmp/my-key > /home/ec2-user/.ssh/authorized_keys
chmod 600 /home/ec2-user/.ssh/authorized_keys
chown ec2-user /home/ec2-user/.ssh/authorized_keys
chgrp ec2-user /home/ec2-user/.ssh/authorized_keys
rm /tmp/my-key
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment