--- /dev/null
+#!/bin/bash
+#
+# Create a new SSH keypair.
+#
+
+# Parameters
+BASENAME="`basename $0`"
+TYPE="$1"
+HANDLE="$2"
+OPTS=""
+
+# Check
+if [ -z "$HANDLE" ]; then
+ echo "usage: $BASENAME <keytype> <handle>"
+ echo "resulting key is stored at ~/.ssh/keys/<keytype>/<handle>"
+ 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
+
+# Dispatch
+ssh-keygen -t $TYPE $OPTS -f $HOME/.ssh/keys/$TYPE/$HANDLE -C "$HANDLE"