Files
AutoremakeSSH/autoremakekeys.sh
2026-01-09 22:21:02 -05:00

42 lines
1.5 KiB
Bash

#!/bin/bash
NO_FORMAT="\e[0m"
F_BOLD="\e[1m"
C_GREEN="\e[38;5;40m"
C_RED="\e[38;5;9m"
C_YELLOW="\033[38;5;226m"
USER=$(getent passwd 1000 | cut -d: -f1)
echo -e "${C_YELLOW}WARNING: Script is meant to be run in an automated manner. Avoid running in terminal.${NO_FORMAT}"
sleep 2
#Verify if root
if [ "$UID" -ne 0 ]; then
echo -e "${C_RED}This script must be run as root.${NO_FORMAT}"
exit 1
fi
##Generate keys
mkdir /.SSH/automated/.temp
ssh-keygen -f /.SSH/automated/.temp/id_ed25519 -N "" &&
rm /.SSH/automated/priv/servers/id_ed25519
rm /.SSH/automated/pub/servers/id_ed25519.pub
cp /.SSH/automated/.temp/id_ed25519 /.SSH/automated/priv/servers/
cp /.SSH/automated/.temp/id_ed25519.pub /.SSH/automated/pub/servers/
sha256sum /.SSH/automated/.temp/id_ed25519 | awk '{print $1}' | tee /home/$USER/sshprov/priv
sha256sum /.SSH/automated/.temp/id_ed25519.pub | awk '{print $1}' | tee /home/$USER/sshprov/pub
sleep 2
rm -rf /.SSH/automated/.temp/
##Attribute to self & restart sshd
cat /.SSH/automated/priv/servers/id_ed25519 | tee /root/.ssh/id_ed25519
cat /.SSH/automated/pub/servers/id_ed25519.pub | tee /root/.ssh/authorized_keys &&
chmod 700 /root/.ssh/id_ed25519
chmod 644 /root/.ssh/authorized_keys
cat /.SSH/automated/priv/servers/id_ed25519 | tee /home/$USER/.ssh/id_ed25519
cat /.SSH/automated/pub/servers/id_ed25519.pub | tee /home/$USER/.ssh/authorized_keys &&
chmod 700 /home/$USER/.ssh
chmod 600 /home/$USER/.ssh/id_ed25519
chmod 600 /home/$USER/.ssh/authorized_keys
chown admin -R /home/$USER/.ssh
systemctl restart sshd