#!/bin/sh ssh_command="" check_key_file() { key_file="$(find /tilde/key | tail -n1)" if [ -f "$key_file" ] then while [ -z "$(cat $key_file | head -n1 | grep -- '-----BEGIN .* PRIVATE KEY-----')" ] do echo "$key_file does not look like a private key file, try again" bash done ssh_command="ssh -i $key_file $tilde_username@$tilde_name" fi } connection_test() { while ! $ssh_command 'exit' do echo "There seems to be a problem connecting to the tilde" echo "Use this shell to try and fix any problems, then try connecting again by exiting the shell" bash done } configure_user() { mkdir -p "/tmp/home/$tilde_username" cp "/root/.gtkrc-2.0" "/tmp/home/$tilde_username" mkdir "/home/$tilde_username" useradd "$tilde_username" -d "/tmp/home/$tilde_username" chown "$tilde_username:$tilde_username" "/home/$tilde_username" chown "$tilde_username:$tilde_username" "/tmp/home/$tilde_username" chown "$tilde_username:$tilde_username" "$key_file" echo "echo Mounting sshfs filesystem..." > "/tmp/home/$tilde_username/.profile" echo "sshfs $tilde_username@$tilde_name:/home/$tilde_username /home/$tilde_username -o ssh_command=\"ssh -i $key_file\"" >> "/tmp/home/$tilde_username/.profile" echo "export HOME=/home/$tilde_username" >> "/tmp/home/$tilde_username/.profile" echo "cd /home/$tilde_username" >> "/tmp/home/$tilde_username/.profile" echo "HOME=/tmp/home/$tilde_username startx" >> "/tmp/home/$tilde_username/.profile" echo "startlxqt" > "/tmp/home/$tilde_username/.xinitrc" usermod -a -G sudo "$tilde_username" mkdir '/etc/systemd/system/getty@tty1.service.d' echo "[Service]" > '/etc/systemd/system/getty@tty1.service.d/override.conf' echo "ExecStart=" >> '/etc/systemd/system/getty@tty1.service.d/override.conf' echo "ExecStart=-/sbin/agetty --autologin $tilde_username %I $TERM" >> '/etc/systemd/system/getty@tty1.service.d/override.conf' echo "Type=idle" >> '/etc/systemd/system/getty@tty1.service.d/override.conf' systemctl daemon-reload } configure_network() { echo "Press ENTER to configure network" read dummy_var nmtui }