Ubuntu / start_old.sh
BinaryONe
Changes
19a162c
#!/bin/bash
# Print the current hostname and user details
echo "* The hostname of this container is: $(cat /etc/hostname)"
echo "* The Current User of this container is: $(whoami)"
#echo "* The host of this container is: $(cat /etc/hosts)"
echo "* ID of the user running the script: $(id -u) * Group: $(id -g) * Status of Admin: $(id admin 2>/dev/null || echo 'Admin user not found')"
# Switch to admin user and run a command
echo "password" | su - admin -c "bash -i"
# Commands to run as admin user
echo "* Now running as: $(whoami)"
# Ensure SSH host keys are present, generate if missing
if [ ! -f /etc/ssh/ssh_host_rsa_key ]; then
echo "* Generating SSH host keys *"
ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ""
ssh-keygen -t ecdsa -b 256 -f /etc/ssh/ssh_host_ecdsa_key -N ""
ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ""
fi
# Start SSH service if not running
if ! pgrep -x "sshd" >/dev/null; then
echo "* Starting SSH server on port 2222 *"
/usr/sbin/sshd -p 2222
else
echo "* SSH server is already running *"
fi
# Check if 'admin' user exists, create if missing
if ! id -u admin >/dev/null 2>&1; then
echo "* Creating 'ubuntu' user *"
useradd -m -s /bin/bash -G sudo admin
echo "admin:password" | chpasswd
#echo "%sudo ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
fi
# Ensure 'admin' home directory permissions
echo "* Fixing permissions for 'ubuntu' user *"
chown -R admin:admin /home/admin
chmod -R 777 /home/admin
# Generate SSH keys for the 'admin' user if missing
if [ ! -f /home/admin/.ssh/id_rsa ]; then
echo "* Generating SSH keys for 'admin' user *"
mkdir -p /home/admin/.ssh
ssh-keygen -t rsa -b 2048 -f /app/users/ssh/id_rsa_admin -q -N ""
ssh-keygen -t rsa -b 2048 -f /home/admin/.ssh/id_rsa -q -N ""
chown -R admin:admin /home/admin/.ssh
chmod 700 /home/admin/.ssh
chmod 600 /home/admin/.ssh/id_rsa
chmod 644 /home/admin/.ssh/id_rsa.pub
fi
# Add public key to authorized_keys for 'admin' user
if [ ! -f /home/admin/.ssh/authorized_keys ]; then
echo "* Adding public key to authorized_keys for 'admin' user *"
cat /home/admin/.ssh/id_rsa.pub >> /home/admin/.ssh/authorized_keys
chmod 777 /home/admin/.ssh/authorized_keys
chown admin:admin /home/admin/.ssh/authorized_keys
fi
echo "* Contents of id_rsa:"
cat /app/users/ssh/id_rsa_admin
echo "* Contents of id_rsa of Admin:"
cat /home/admin/.ssh/id_rsa
# Print SSH server status
echo "* Status of SSH service:"
netstat -tuln
# Activate virtual environment
if [ -d "/app/WebSSHEnv" ]; then
echo "* Activating virtual environment *"
source /app/WebSSHEnv/bin/activate
else
echo "* Virtual environment not found, please check setup *"
fi
# Set working directory
cd /app || exit
# Print the contents of the working directory
echo "* Contents of /app directory: *"
ls -la /app
# Run the WebSSH application
echo "* Starting WebSSH application *"
python3 -u -m WebSSH
# Keep the container running
tail -f /dev/null