#!/bin/bash GREEN="\033[0;32m" RED="\033[0;31m" PURPLE="\033[0;35m" BLUE="\033[1;34m" RESET="\033[0m" usage() { echo -e "${GREEN}Usage: iottadd.sh < id > < pass >${RESET}" } getConf() { echo -e "${GREEN}Is that ok? ${BLUE}[${GREEN}Y${BLUE}/${RED}n${BLUE}]${PURPLE}" read -p " " confirmation echo -en "${RESET}" if [[ $confirmation == "n" ]]; then exit 255 fi } if [ -z "$2" ]; then echo -e "${RED}Not enough arguments!\n${RESET}" usage exit 2 fi ### MAIN PROGRAM ############################################################################# echo -e "${GREEN}Running with: ID=${BLUE}${1}${GREEN} and PASS=${BLUE}${2}" getConf if [ ! -w ./rawkey-generator.py ]; then echo -e "${RED}You don't have rawkey-generator.py in the same folder or don't have execute permitions${CLEAR}" exit 1 fi RAWKEY="0x00"$(python3 ./rawkey-generator.py "${2}" "Sincoolka IoTT") echo -e "${GREEN}Generated raw key (pmk): ${BLUE}${RAWKEY}${CLEAR}" getConf if [ "$HOSTNAME" == "pride" ]; then sshCmd="lust-db" else echo -en "${GREEN}Enter your username on server: ${PURPLE}" read -p "" serverUser echo -en "${RESET}" sshCmd="-J ${serverUser}@pride.sin.cvut.cz ${serverUser}@lust-db" fi ssh $sshCmd "psql sinis -c 'INSERT INTO nic_dpsk (psk, id_nic) VALUES ('\'${2}\'', '${1}');' -c 'INSERT INTO nic_dpsk_networks (id_dpsk, ssid, freeradius_pmk) VALUES ((SELECT currval('\'nic_dpsk_id_dpsk_seq\'')), '\''Sincoolka IoTT'\'', '\'${RAWKEY}\'');' " echo -e "${GREEN}DONE${CLEAR}" ############################################################################