Compare commits

..

15 Commits

Author SHA1 Message Date
ffafffff0f Merge pull request 'sdsad' (#5) from Staging into main
Reviewed-on: #5
2025-10-29 06:42:12 +00:00
3740df5da9 sdsad 2025-10-29 06:41:33 +00:00
311a3b7f6e Merge pull request 'd' (#4) from Staging into main
Reviewed-on: #4
2025-10-28 01:12:59 +00:00
540c5dfb53 d 2025-10-28 01:12:33 +00:00
1c6dec03d3 Merge pull request 'yes' (#3) from Staging into main
Reviewed-on: #3
2025-10-28 01:11:40 +00:00
fdb01b4428 yes 2025-10-28 01:10:58 +00:00
c9df312d68 Merge pull request 'Staging' (#2) from Staging into main
Reviewed-on: #2
2025-10-28 01:07:19 +00:00
e12b5974c2 Accounting for unifi repo changes 2025-10-28 01:04:53 +00:00
9fb8c8b153 Updated to create a generated password 2025-08-05 05:05:31 +00:00
06e1350747 Updated to disabled root 2025-08-05 04:45:03 +00:00
72f71a698f Updated ssh key 2025-08-05 04:41:49 +00:00
f5864eb854 Initial setup script for new machines 2025-08-05 04:21:16 +00:00
2b78550aa9 Merge pull request 'Staging' (#1) from Staging into main
Reviewed-on: #1
2025-08-04 02:56:16 +00:00
58044a47e1 test 2025-08-04 00:12:53 +00:00
e5b3e796b0 Cleaned up code and started using web VS code 2025-07-30 14:32:06 +00:00
7 changed files with 96 additions and 3 deletions

8
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,8 @@
{
"yaml.schemas": {
"https://raw.githubusercontent.com/ansible/ansible-lint/main/src/ansiblelint/schemas/ansible.json#/$defs/playbook": [
"file:///root/ansible/test.yml",
"file:///root/ansible/update.yml"
]
}
}

0
group_vars/vault.yml Normal file
View File

0
keys/private.key.vault Normal file
View File

0
keys/public.key Normal file
View File

86
setup.sh Normal file
View File

@@ -0,0 +1,86 @@
#!/bin/bash
# Basic VM/LXC Setup Script for root environments
# Creates 'beer' user if missing, sets up SSH, installs basic tools.
# === CONFIGURE PUBLIC KEY ===
SSH_PUBLIC_KEY="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDxZomUDtOt7Kh1mfZleJrv/IZrdFZ6j80RIpyTWd5R+ beer@bwsttv.com" # Paste your SSH public key here
USERNAME="beer"
# Ensure script runs as root
if [ "$EUID" -ne 0 ]; then
echo "Please run as root."
exit 1
fi
# === UPDATE SYSTEM ===
echo "Updating system..."
apt update && apt upgrade -y
# === CREATE USER IF NOT EXISTS ===
if id "$USERNAME" &>/dev/null; then
echo "User '$USERNAME' already exists."
else
echo "Creating user '$USERNAME'..."
adduser --disabled-password --gecos "" "$USERNAME"
usermod -aG sudo "$USERNAME"
fi
# === SET UP SSH FOR USER ===
echo "Configuring SSH for '$USERNAME'..."
mkdir -p /home/$USERNAME/.ssh
echo "$SSH_PUBLIC_KEY" > /home/$USERNAME/.ssh/authorized_keys
chmod 700 /home/$USERNAME/.ssh
chmod 600 /home/$USERNAME/.ssh/authorized_keys
chown -R $USERNAME:$USERNAME /home/$USERNAME/.ssh
# === HARDEN SSH ===
echo "Updating SSH security settings..."
sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin prohibit-password/' /etc/ssh/sshd_config
sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart ssh || service ssh restart
# === INSTALL BASIC UTILITIES ===
echo "Installing base packages..."
apt install -y curl wget vim git ufw wamerican
# === FIREWALL CONFIGURATION ===
echo "Configuring firewall..."
ufw allow OpenSSH
ufw --force enable
# === HARDEN SSH: Disable root login via SSH ===
echo "Disabling root SSH login..."
sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
systemctl restart ssh || service ssh restart
# === ENSURE beer CAN USE SUDO ===
usermod -aG sudo beer
# Make sure /usr/share/dict/words exists, or replace with your own file path or word array
WORDLIST="/usr/share/dict/words"
# Pick 5 random words, capitalize first letter
PASSWORD_WORDS=$(shuf -n 5 "$WORDLIST" | sed 's/.*/\L&/' | sed 's/^./\u&/' | tr '\n' ' ')
# Generate 4 random digits
PASSWORD_NUMBERS=$(shuf -i 1000-9999 -n 1)
# Combine words and numbers
GENERATED_PASS="${PASSWORD_WORDS}${PASSWORD_NUMBERS}"
# Remove trailing spaces if any
GENERATED_PASS=$(echo "$GENERATED_PASS" | xargs)
# Set password for user beer
echo "beer:$GENERATED_PASS" | chpasswd
# Show the generated password
echo "--------------------------------------------------"
echo "Generated password for user 'beer':"
echo "$GENERATED_PASS"
echo "Please save this password securely!"
echo "--------------------------------------------------"
echo "Setup complete! You can now SSH into the container/VM as '$USERNAME'."

View File

@@ -12,4 +12,3 @@
- name: Show result - name: Show result
debug: debug:
var: whoami_result.stdout var: whoami_result.stdout