add solutions
This commit is contained in:
		| @@ -0,0 +1,42 @@ | ||||
| #!/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." | ||||
		Reference in New Issue
	
	Block a user