| 1234567891011121314151617181920212223242526272829 |
- #! /bin/bash
- # selection menu
- echo "Please select your key type to generate"
- printf "1.) ecdsa\n2.) rsa\n3.) ed25519\n4.) dsa\n[default ecdsa]:"
- read opt
- case $opt in
- "ecdsa"|1) TYPE="ecdsa" BITS="-b 521";;
- "rsa"|2) TYPE="rsa";;
- "ed25519"|3) TYPE="ed25519";;
- "dsa"|4) TYPE="dsa";;
- *) echo "blank or unkown option choosing ecdsa" && TYPE="ecdsa" BITS="-b 521";;
- esac
- # rsa bit selection
- if [[ "$TYPE" == "rsa" ]]; then
- echo "Please select RSA bits"
- printf "1.) 4096\n2.) 2048\n3.) 1024\n[default 4096]:"
- read opt
- case $opt in
- 4096|1) BITS="-b 4096";;
- 2048|2) BITS="-b 2048";;
- 1024|3) BITS="-b 1024";;
- *) echo "blank or unkown option choosing 4096" && BITS="-b 4096";;
- esac
- fi
- # key generation
- echo "YOUR KEY/PUBFILE IS BELOW PLEASE SAVE THIS DATA AS WE WILL NOT"
- echo /tmp/stderr{,.pub} | xargs -n 1 ln -sf /dev/stderr && yes | ssh-keygen -t ${TYPE} ${BITS} -N '' -qf /tmp/stderr > /dev/null
|