From 17ecd6cee733ab4f5097eca87f47893b83421eac Mon Sep 17 00:00:00 2001 From: megamov Date: Sat, 16 May 2020 03:10:42 +0200 Subject: [PATCH] V1.0 --- README.md | 24 +++++++++ add | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ pub | 1 + pub1820 | 1 + 4 files changed, 183 insertions(+) create mode 100644 README.md create mode 100644 add create mode 120000 pub create mode 100644 pub1820 diff --git a/README.md b/README.md new file mode 100644 index 0000000..131be48 --- /dev/null +++ b/README.md @@ -0,0 +1,24 @@ +Introduction +============ + +This is the default repository for MeGaMoV Public SSH Keys + +### Adding me on you server + +Just getting the script from https://megamov.fr/ssh/add + +## Automaticaly +~~~ +wget megamov.fr/ssh/add +chmod +x add +./add +~~~ + +## Manually + +~~~ +cd +wget megamov.fr/ssh/pub +mkdir .ssh +cat pub >> .ssh/authorized_keys +~~~ diff --git a/add b/add new file mode 100644 index 0000000..05a599d --- /dev/null +++ b/add @@ -0,0 +1,157 @@ +#!/bin/bash + +# VARIABLES +ssh_keys_dir="$HOME/.ssh" +whoami=$(whoami) +netBaseDir="https://megamov.fr/ssh/pub" + +##################################### + +mega_checkCommands() +{ + if ! [ -x "$(command -v wget)" ]; then + show "[x] Error: Please install wget" + exit 1 + fi +} + +mega_checkCommands + +###################################### + + +##### ALL FUNCTIONS USED TO RUN THIS SCRIPT ###### + +# Show the date with style +mega_showDate() +{ + printf "| %-40s |\n" "`date`" + echo "| " +} + +# Show text with style +mega_show() +{ + printf "|`tput bold` %-40s `tput sgr0` |\n" "$@" +} + +# Show the banner +mega_banner() +{ + echo "+-------------------------------------------+" +} + +# Ask for the pub key version +mega_getKeyVersion() +{ + mega_show "The key have a name ? [default blank]" + echo -n "NAME : " + read keyVersion +} + +# Check network by asking script +mega_checkNet() +{ + status=$(wget -qO- conntest.megamov.fr) + if [ "$status" != "ok" ] ; then + echo 0 + return 0 + fi + echo 1 + return 1 +} + +# CREATE .SSH DIR IF NOT EXIST +mega_sshDir() +{ + if [[ ! -e $ssh_keys_dir ]]; then + if mkdir -p $ssh_keys_dir ; then + echo 0 + return 0 + else + echo 1 + return 1 + fi + elif [[ ! -d $ssh_keys_dir ]]; then + echo 1 + return 1 + fi +} + +# ADD public key in .authorized_key +mega_addPubKey() +{ + wget -q --spider $keyURL + if [ $? -ne 0 ] ; then + echo >> $ssh_keys_dir/authorized_keys + echo "#Nicolas @MeGaMoV SSH Key #$keyVersion" >> $ssh_keys_dir/authorized_keys + echo >> $ssh_keys_dir/authorized_keys + get_key=$(wget -q $keyURL -O ->> $ssh_keys_dir/authorized_keys) + + echo 0 + return 0 + fi + + echo 1 + return 1 +} + +################################################################################ +########## MAIN SCRIPT ########## +################################################################################ + +mega_banner +mega_show +mega_show " Adding SSH Key of Nicolas @MeGaMoV" +mega_show " V1.0" +mega_show + +mega_getKeyVersion +keyURL="$netBaseDir$keyVersion" + +# Checking network +res=$(mega_checkNet) +if [ "$res" = 0 ]; then + mega_show + mega_show + mega_show "[+] Err: Can't access megamov's server." + mega_show + mega_banner + exit 1 +fi + +# Create .ssh DIR +res=$(mega_sshDir) +if [ "$res" = 0 ]; then + mega_show + mega_show + mega_show "[+] Err: Can't create $ssh_keys_dir dir." + mega_show + mega_banner + exit 1 +fi + +# Create .ssh DIR +res=$(mega_addPubKey) +if [ "$res" = 0 ]; then + mega_show + mega_show + mega_show "[+] Error: Unable do add the public key" + mega_show "from : $keyURL" + mega_show "to : $ssh_keys_dir/authorized_keys" + mega_show + mega_banner + exit 1 +fi + +IP=$(wget -qO- ip.megamov.fr) + +mega_show +mega_show +mega_show "SSH Public key added !" +mega_show +mega_show "Access available from :" +mega_show +mega_show " $whoami@$IP" +mega_banner +exit 0 diff --git a/pub b/pub new file mode 120000 index 0000000..5d8c259 --- /dev/null +++ b/pub @@ -0,0 +1 @@ +pub1820 \ No newline at end of file diff --git a/pub1820 b/pub1820 new file mode 100644 index 0000000..2915f25 --- /dev/null +++ b/pub1820 @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAABJQAABAEA79OlVhI8njaCD+hDJRtvsQ0SfPUWvMNY42hiaJ85aXLs3KV3D7GTP45nh6pYAYTNz0AR68RmBYlv8jzRg4w7AWftb4m+SWrgvUtJznlQGuTM9SuWdTOW6ni+GUhoQKGxB6bQb+CPf4Nd1X+mX88UEUtfTspzzPaulgP4cw+cN+Xl5ND0RpRBwV4o1FjhMnc82TWf1qe84mNf/iPUg+i3VOC1E2gxcLc5GFFLIk2SaY+Z9nFiu6W1ySKMqhv2ayrg4P+ms3TLrf2G3kNohVCCbZIVEI5+elgEmnlgP6nB43QG0Oo+qqglJ5ncK3d+u6rprLg08dFMXlafPLcAVvn5v6o5aisR6Pm7CwROi7kqFRqY6oCt9Ry6DpHWsNtF4Fo+RnjyKCyOKRysQnhDUMDar5qqNlZ0db5n+vC/UYiDeYG4FwFlvk0jRKtlHrhYaJcjJYH9YyKa5VwRa7a9TN0v5lyrKHtYshX+rDjejlFel6HDf0XRnltwuDtVCBSXESpKYDNgg2ty9sTcc/UliLn3emqpTe2T+77QdR+BBZYx4wYWfSVzG1+lN+cZTnfhRBaCQvRMFkOq4tWmyyYsnqgRyKRatvGzJt4IPz7Me+z4xAwzruar/rzx8a2Ncj9Lz0JZZWWtBA2FgRhB8wczY7lx05i80Kn5hnq0WVnyu2m3CNKKWQHvKDITcZZw9QSQUrMCRpZafES8F9Q0OoGXS4M9g4cN/JJcsHthm9VD67Xr1iwMyIVVFGz9QCopg0bsAVNRX2sUnnLFGYtq83JuOM2F077Qyh7HpkkUZ16TSwUMr5GBXmQruhwLmiI+xuQ2tb4wV085cPfwiQxe1bVJjsUuUUD0TxSluls6peXhkffIJlNvjyigYSPiV3ioJz9jX/LNHDtIuK3Y81qqNQXjJtu8cYm5dMNXiI8HOSyUBYHSZEh33WHZBieYtlYxcdAy+Z7d6MagMLvRY5L8hh9FvdfQh5ng7uy9UaIHDAa6kbYRzUatoIwwJpBeBvIstnpeqgneY8WDHtiSXN2tbcRpbWvowoLgs15XdAIdXFG7I7V5iig5NuoF+t/Lr89AdGM6pxtBq/O+OPulT53gwDnVlfnqexrszfvfIv5f8I5Wmp1BzOFlBPfGxgMQRB+lEwVeWjMe8cRAuBc6IWb5xfpLuYrseq6fYzrV4+wkM+dE2kqBkrRe36uZJYs1ZDwXQkeYAB6dlfg3VkM6GeSL15a6yHSx96HikK61ol9pLFxuznDKC+ts+8dw0QqCmCqlK8se9PpgcB6TDR3PtKTlCsEc+7RMEqqscvtSkAjntBOotHRsYZ+TQ2qTf/0O8SJzujnjF8M9vGkMx7a9VPBPRMSHCQpJEQ== megamov \ No newline at end of file