Spaces:
Paused
Paused
| # 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 | |