From 61243d1d701673ed48f541ecc588d072c480eee9 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Fri, 22 Nov 2024 16:28:43 -0600 Subject: decryption and menu - added key retrieval and setting up ssh daemon - added the following menu: base system: arch install compatible with my setup (archsetup) workstation: base system to full workstation (archinstall) distrobox: my default install inside distrobox container (archdistrobox) ssh: retrieve keys and setup ssh for remote work (setup_sshd function) --- init | 60 +++++++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 45 insertions(+), 15 deletions(-) (limited to 'init') diff --git a/init b/init index 3d6b6b3..b9d0d4d 100755 --- a/init +++ b/init @@ -4,48 +4,78 @@ # Craig Jennings # An archsetup script to welcome user, present options, and setup ssh # server from the live cd. Functions to installing base arch and setup -# the workstation occur in other scripts, called by this script. +# the workstation occur in other scripts, called by this script. # Run as root after booting the live cd and issuing the following command: # curl -s https://cjennings.net/archsetup/init | sh - - welcome () { clear + echo "" echo "ArchSetup" echo "---------" echo "" echo "" } +check_root_or_exit () { + if [ "$EUID" -ne 0 ] + then echo "Please run as root" + exit + fi +} + setup_ssh () { - systemctl start sshd + # retrieve keys from repo and decrypt + echo "retrieving keys for decryption..." + { + mkdir -p "$HOME/.ssh/" + # retrieve keys from dotfiles repo and decrypt the keys + (git clone --depth 1 https://git.cjennings.net/dotfiles.git \ + "$HOME/dotfiles/") >> /dev/null + cp "$HOME/dotfiles/system/.ssh/*" "$HOME/.ssh/" + rm -rf "$HOME/dotfiles/" + } > /dev/null + cd "$HOME/.ssh/" + gpg --decrypt "$HOME/ssh.tar.gz.gpg" | tar -zxf - + + # set proper permissions on .ssh directory + cd "$HOME" && chmod 600 $HOME/.ssh/* && chmod 700 $HOME/.ssh \ + && chmod 644 $HOME/.ssh/*.pub + # setup ssh + echo "setting up ssh daemon..." + systemctl start sshd echo "root:welcome" | chpasswd hostname=$(