57 lines
1.1 KiB
Bash
Executable File
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
|