Files
alpine-web-werver/bin/knockd.sh
T

57 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
# TODO check if root
echo -e '
_ __ _
| |/ /_ _ ___ __| |__
| . <| . \/ _ \/ _| / /
|_|\_\_||_\___/\__|_\_\
'
echo -e "Installing knockd to control ssh port opening"
. bin/checkroot.sh
# get the current position
_cwd="$(pwd)"
# check for assets forlder
_assets="$_cwd/assets"
if [ ! -d "$_assets" ]; then
_assets="$_cwd/../assets"
if [ ! -d "$_assets" ]; then
echo "!! can't find assets directory !!"
exit
fi
fi
sleep 2
apk add knock
echo -n "checking if ufw is installed"
ufw_installed=$(apk list -I | grep "ufw")
if ! $ufw_installed; then
echo -n "ufw installed"
mv /etc/knockd.conf /etc/knockd.conf.ori
cp "$_assets"/knockd.conf /etc/knockd.conf
echo -n "define a sequence number for opening ssh (as 7000,8000,9000) : "
read sq
sed -i "s/7000,8000,9000/$sq/g" /etc/knockd.conf
rc-update add knockd
/etc/init.d/knockd start
ufw delete allow ssh
echo -e "knockd installed and configured"
echo -e "please note this sequence for future ssh knocking"
echo "$sq"
else
#. bin/ufw.sh
echo -n "ufw not installed, needed by knockd, configuration aborted"
fi
sleep 3