65.9K
CodeProject is changing. Read more.
Home

Add All Of Your github Keys As Authorized

Oct 27, 2015

MIT
viewsIcon

4153

One-liner to add all of the github keys as authorized to some test unix server

Introduction

As a software developer, I constantly work with a bunch of virtual environments used for test. The first step I do - is switch from password ssh authorization to authorization by public key. Let me share with you handy batch, that will add all of your github keys as authorized.

Batch

USERNAME=yourgithubusername

mkdir -p ~/.ssh

if ! [[ -f ~/.ssh/authorized_keys ]]; then
  echo "Creating new ~/.ssh/authorized_keys"
  touch ~/.ssh/authorized_keys
fi

keys=`curl https://api.github.com/users/$USERNAME/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
done

Usage

Usually I run it as:

  curl -L http://bit.ly/easytoremembershortcut | bash -s

This approach has already saved me a lot of time.