home · contact · privacy
Add server login setup for already key-based servers.
authorChristian Heller <c.heller@plomlompom.de>
Thu, 23 Jan 2020 09:00:25 +0000 (10:00 +0100)
committerChristian Heller <c.heller@plomlompom.de>
Thu, 23 Jan 2020 09:00:25 +0000 (10:00 +0100)
buster/setup_scripts/init_user_login.sh [new file with mode: 0755]

diff --git a/buster/setup_scripts/init_user_login.sh b/buster/setup_scripts/init_user_login.sh
new file mode 100755 (executable)
index 0000000..6abb766
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/sh
+set -e
+
+# Location auf a sshd_config with "PermitRootLogin no" and
+# "PasswordAuthentication no".
+config_tree_prefix="${HOME}/public_repos/config/buster"
+linkable_files_dir="${config_tree_prefix}/etc_files/server"
+system_path_sshd_config='/etc/ssh/sshd_config'
+local_path_sshd_config="${linkable_files_dir}${system_path_sshd_config}"
+
+# Ensure we have a server name as argument.
+if [ $# -eq 0 ]; then
+    echo "Need server as argument."
+    false
+fi
+server="$1"
+
+# This will be used to log-in as root from plom account.
+echo 'Asking for root password.'
+ssh root@"${server}" "passwd"
+
+# Set up plom's ~/.ssh/authorized_keys from root's.
+ssh root@"${server}" 'useradd -m plom'
+ssh root@"${server}" 'mkdir /home/plom/.ssh'
+ssh root@"${server}" 'chown plom:plom /home/plom/.ssh'
+ssh root@"${server}" 'cp /root/.ssh/authorized_keys /home/plom/.ssh/'
+ssh root@"${server}" 'chown plom:plom /home/plom/.ssh/authorized_keys'
+
+# Set up SSH config and remove direct SSH login to root.
+scp "${local_path_sshd_config}" root@"${server}":"${system_path_sshd_config}"
+ssh root@"${server}" 'rm -rf /root/.ssh && service ssh restart'