1
0
SEm-Labos/zz-solutions/04-Lissajous/Scripts/generateSSHKey.bash

42 lines
1.2 KiB
Bash
Raw Permalink Normal View History

2024-03-15 14:03:34 +00:00
#!/bin/bash
#==============================================================================
# generates an SSH key under default user location ~/.ssh/
# and add the public key to the clipboard
#
# the email could be given when calling the script or be prompted later
email=''
filename=$(hostname)
user=$(whoami)
usage='Usage: generateSSH.bash [-e email]'
# handle options
while getopts 'e:v' flag; do
case "${flag}" in
e) email=${OPTARG};;
esac
done
# if the mail is not given, prompt it
if [ -z "$email" ]
then
echo -n "Please enter your mail: "
read email
fi
# generates the key-couple
# cat /dev/zero create an empty file to be filled by the key
# then ssh-keygen is called with:
# -q to call it silently (no verbose)
# -N with empty string to set no-password
# -t to specify the type of key
# -C to set the user mail
cat /dev/zero | ssh-keygen -q -N "" -t ed25519 -C "${user}@${filename}" -f ~/.ssh/$filename
# then copy the public key into the clipboard
clip < ~/.ssh/${filename}.pub
# print output for user
echo -e "\nThe keyfiles are generated under ~/.ssh/"
echo -e "\nThe public key is in your clipboard, ready to be added to your Github account."