Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Put public keys for a github user in ~/.ssh/authorized keys with mucho ease
IFS="$(printf '\n\t')"
mkdir -p ~/.ssh
if ! [[ -f ~/.ssh/authorized_keys ]]; then
echo "Creating new ~/.ssh/authorized_keys"
touch ~/.ssh/authorized_keys
keys=`curl$user/keys | grep -o -E "ssh-\w+\s+[^\"]+"`
for key in $keys; do
echo $key
grep -q "$key" ~/.ssh/authorized_keys || echo "$key" >> ~/.ssh/authorized_keys

This comment has been minimized.

Copy link
Owner Author

rtlong commented Oct 2, 2013

Use this like so:

$ curl -L | bash -s <github username> redirects to the raw version of this script; curl's -L tells it to follow redirects, and bash's -s tells it to use STDIN as the script and the arguments as the positional parameters


This comment has been minimized.

Copy link

musically-ut commented Dec 2, 2015

At the time of writing, will output the keys in authorized_keys friendly format and in plain text. That will avoid having to grep through the JSON looking for the keys.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.