V1.0 Fix Bugs + Improve UI

master
megamov 6 years ago
parent 72292862e9
commit ce3c2fc7ee
  1. 89
      add

89
add

@ -1,8 +1,8 @@
#!/bin/bash #!/bin/bash
# VARIABLES # VARIABLES
script_version="1.1"
ssh_keys_dir="$HOME/.ssh" ssh_keys_dir="$HOME/.ssh"
whoami=$(whoami)
netBaseDir="https://megamov.fr/ssh/pub" netBaseDir="https://megamov.fr/ssh/pub"
##################################### #####################################
@ -35,6 +35,18 @@ mega_show()
printf "|`tput bold` %-40s `tput sgr0` |\n" "$@" printf "|`tput bold` %-40s `tput sgr0` |\n" "$@"
} }
# Show text with error color
mega_showerror()
{
printf "|`tput bold``tput setf 4` %-40s `tput sgr0` |\n" "$@"
}
# Show text with success color
mega_showsuccess()
{
printf "|`tput bold``tput setf 2` %-40s `tput sgr0` |\n" "$@"
}
# Show the banner # Show the banner
mega_banner() mega_banner()
{ {
@ -44,8 +56,8 @@ mega_banner()
# Ask for the pub key version # Ask for the pub key version
mega_getKeyVersion() mega_getKeyVersion()
{ {
mega_show "The key have a name ? [default blank]" mega_show "The key have a specific name ?"
echo -n "NAME : " echo -n "NAME [default empty] : "
read keyVersion read keyVersion
} }
@ -53,7 +65,7 @@ mega_getKeyVersion()
mega_checkNet() mega_checkNet()
{ {
status=$(wget -qO- conntest.megamov.fr) status=$(wget -qO- conntest.megamov.fr)
if [ "$status" != "ok" ] ; then if [ "$status" = "ok" ] ; then
echo 0 echo 0
return 0 return 0
fi fi
@ -72,30 +84,32 @@ mega_sshDir()
echo 1 echo 1
return 1 return 1
fi fi
elif [[ ! -d $ssh_keys_dir ]]; then
echo 1
return 1
fi fi
echo 0
return 0
} }
# ADD public key in .authorized_key # CHECK IF THE KEY EXIST
mega_addPubKey() mega_checkPubKey()
{ {
wget -q --spider $keyURL wget -qO- $keyURL
if [ $? -ne 0 ] ; then if [ $? = 0 ] ; then
echo >> $ssh_keys_dir/authorized_keys echo 0
echo "#Nicolas @MeGaMoV SSH Key #$keyVersion" >> $ssh_keys_dir/authorized_keys return 0
echo >> $ssh_keys_dir/authorized_keys
get_key=$(wget -q $keyURL -O ->> $ssh_keys_dir/authorized_keys)
echo 0
return 0
fi fi
echo 1 echo 1
return 1 return 1
} }
# ADD public key in .authorized_key
mega_addPubKey()
{
echo
echo "#Nicolas.P @MeGaMoV SSH Key $keyVersion"
ssh_key=$(wget -qO- $keyURL)
echo $ssh_key
} >> $ssh_keys_dir/authorized_keys
################################################################################ ################################################################################
########## MAIN SCRIPT ########## ########## MAIN SCRIPT ##########
################################################################################ ################################################################################
@ -103,7 +117,7 @@ mega_addPubKey()
mega_banner mega_banner
mega_show mega_show
mega_show " Adding SSH Key of Nicolas @MeGaMoV" mega_show " Adding SSH Key of Nicolas @MeGaMoV"
mega_show " V1.0" mega_show " v$script_version"
mega_show mega_show
mega_getKeyVersion mega_getKeyVersion
@ -111,10 +125,10 @@ keyURL="$netBaseDir$keyVersion"
# Checking network # Checking network
res=$(mega_checkNet) res=$(mega_checkNet)
if [ "$res" = 0 ]; then if [ "$res" = 1 ]; then
mega_show mega_show
mega_show mega_show
mega_show "[+] Err: Can't access megamov's server." mega_showerror "[+] Err: Can't access megamov's server."
mega_show mega_show
mega_banner mega_banner
exit 1 exit 1
@ -122,36 +136,43 @@ fi
# Create .ssh DIR # Create .ssh DIR
res=$(mega_sshDir) res=$(mega_sshDir)
if [ "$res" = 0 ]; then if [ "$res" = 1 ]; then
mega_show mega_show
mega_show mega_show
mega_show "[+] Err: Can't create $ssh_keys_dir dir." mega_showerror "[+] Err: Can't create ssh folder"
mega_showerror " $ssh_keys_dir"
mega_show mega_show
mega_banner mega_banner
exit 1 exit 1
fi fi
# Create .ssh DIR # Check if the key exist in server
res=$(mega_addPubKey) res=$(mega_checkPubKey)
if [ "$res" = 0 ]; then if [ "$res" = 1 ]; then
mega_show
mega_show
mega_showerror "[+] Error: Unable do get the public key"
mega_show mega_show
mega_showerror "Please : Check if the NAME you entered"
mega_showerror " is a valid MeGaMoV Key"
mega_show mega_show
mega_show "[+] Error: Unable do add the public key" mega_showerror "NOTE : Leave empty if you don't know"
mega_show "from : $keyURL"
mega_show "to : $ssh_keys_dir/authorized_keys"
mega_show mega_show
mega_banner mega_banner
exit 1 exit 1
fi fi
# Adding the public key
mega_addPubKey
# Key the IP
IP=$(wget -qO- ip.megamov.fr) IP=$(wget -qO- ip.megamov.fr)
mega_show mega_show
mega_show mega_show
mega_show "SSH Public key added !" mega_showsuccess " SSH Public key added !"
mega_show mega_showsuccess " Access available from :"
mega_show "Access available from :"
mega_show mega_show
mega_show " $whoami@$IP" mega_showsuccess "$USER@$IP"
mega_banner mega_banner
exit 0 exit 0

Loading…
Cancel
Save