summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archsshd52
1 files changed, 52 insertions, 0 deletions
diff --git a/archsshd b/archsshd
new file mode 100644
index 0000000..4687566
--- /dev/null
+++ b/archsshd
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+# archsshd
+# Craig Jennings <c@cjennings.net>
+# Sets up keys and sshd daemon on arch live cd
+
+check_root_or_exit () {
+ if [ "$EUID" -ne 0 ]
+ then echo "Please run as root"
+ exit
+ fi
+}
+
+retrieve_keys() {
+ # 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 () {
+ # setup ssh
+ echo "setting up ssh daemon..."
+ systemctl start sshd
+ echo "root:welcome" | chpasswd
+ hostname=$(</etc/hostname)
+ ipaddress=$(ip addr show wlan0 | grep 'inet ' | awk '{print $2}' | cut -d/ -f1)
+
+ # notify user
+ echo ""; echo ""
+ echo "you may ssh root@$hostname or ssh root@$ipaddress using the password 'welcome'"
+}
+
+
+
+### SCRIPT ###
+
+check_root_or_exit
+retrieve_keys
+setup_ssh