#!/bin/bash # # Create a new SSH keypair. # # Parameters BASENAME="`basename $0`" TYPE="$1" HANDLE="$2" OPTS="" # Check if [ -z "$HANDLE" ]; then echo "usage: $BASENAME " echo "resulting key is stored at ~/.ssh/keys//" exit 1 elif [ -e "$HOME/.ssh/keys/$TYPE/$HANDLE" ]; then echo "$BASENAME: file already exists: $HOME/.ssh/keys/$TYPE/$HANDLE" exit 1 fi # Handle custom options if [ "$TYPE" == "rsa" ]; then OPTS="-b 4096" fi # Ensure destination folder exists mkdir -p $HOME/.ssh/keys/$TYPE # Dispatch ssh-keygen -t $TYPE $OPTS -f $HOME/.ssh/keys/$TYPE/$HANDLE -C "$HANDLE"