Files
proxmox/scripts/set-password-no-console.sh
defiQUG cb47cce074 Complete markdown files cleanup and organization
- Organized 252 files across project
- Root directory: 187 → 2 files (98.9% reduction)
- Moved configuration guides to docs/04-configuration/
- Moved troubleshooting guides to docs/09-troubleshooting/
- Moved quick start guides to docs/01-getting-started/
- Moved reports to reports/ directory
- Archived temporary files
- Generated comprehensive reports and documentation
- Created maintenance scripts and guides

All files organized according to established standards.
2026-01-06 01:46:25 -08:00

101 lines
3.6 KiB
Bash
Executable File

#!/bin/bash
# Set password for VMID 5000 without using Web UI console
# This script works even if console UI is not accessible
set -euo pipefail
PROXMOX_HOST="${PROXMOX_HOST:-192.168.11.10}"
VMID=5000
PASSWORD="L@kers2010"
# Colors
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
NC='\033[0m'
log_info() { echo -e "${BLUE}[INFO]${NC} $1"; }
log_success() { echo -e "${GREEN}[✓]${NC} $1"; }
log_warn() { echo -e "${YELLOW}[⚠]${NC} $1"; }
echo "════════════════════════════════════════"
echo "Set Password Without Console"
echo "════════════════════════════════════════"
echo ""
# Find container node
log_info "Finding container location..."
CONTAINER_NODE=$(ssh -o StrictHostKeyChecking=no root@"$PROXMOX_HOST" \
"for node in ml110 pve pve2; do \
if pvesh get /nodes/\$node/lxc/$VMID/status/current 2>/dev/null | grep -q status; then \
echo \$node; break; \
fi; \
done" 2>/dev/null || echo "")
if [ -z "$CONTAINER_NODE" ]; then
log_warn "Container not found. Exiting."
exit 1
fi
log_success "Container found on node: $CONTAINER_NODE"
echo ""
# Check container status
log_info "Checking container status..."
STATUS=$(ssh -o StrictHostKeyChecking=no root@"$PROXMOX_HOST" \
"pvesh get /nodes/$CONTAINER_NODE/lxc/$VMID/status/current --output-format json-pretty 2>/dev/null | grep -o '\"status\":\"[^\"]*\"' | cut -d'\"' -f4" || echo "unknown")
if [ "$STATUS" != "running" ]; then
log_warn "Container is not running (status: $STATUS)"
log_info "Starting container..."
ssh -o StrictHostKeyChecking=no root@"$PROXMOX_HOST" \
"pvesh create /nodes/$CONTAINER_NODE/lxc/$VMID/status/start 2>/dev/null" && \
log_info "Waiting 10 seconds for container to start..." && \
sleep 10
else
log_success "Container is running"
fi
echo ""
# Set password using chpasswd
log_info "Setting root password via command line (no console needed)..."
if ssh -o StrictHostKeyChecking=no root@"$PROXMOX_HOST" \
"ssh $CONTAINER_NODE 'pct exec $VMID -- bash -c \"echo root:$PASSWORD | chpasswd\"' 2>&1"; then
log_success "Password set successfully!"
else
log_warn "Command may have failed. Trying alternative method..."
# Try via Proxmox API exec (if available)
log_info "Attempting alternative method..."
ssh -o StrictHostKeyChecking=no root@"$PROXMOX_HOST" \
"pvesh create /nodes/$CONTAINER_NODE/lxc/$VMID/exec --command 'bash' --arg '-c' --arg 'echo root:$PASSWORD | chpasswd' 2>&1" || \
log_warn "Please set password manually via pct enter method"
fi
echo ""
# Verify
log_info "Verifying password was set..."
if ssh -o StrictHostKeyChecking=no root@"$PROXMOX_HOST" \
"ssh $CONTAINER_NODE 'pct exec $VMID -- bash -c \"su - root -c echo Password check\"' 2>&1" | grep -q "Password check\|root"; then
log_success "Password verification successful"
else
log_warn "Verification inconclusive. Password should be set, but please verify manually."
fi
echo ""
echo "════════════════════════════════════════"
echo "Password Setting Complete"
echo "════════════════════════════════════════"
echo ""
echo "You can now SSH to the container:"
echo " ssh root@192.168.11.140"
echo " Password: $PASSWORD"
echo ""
echo "If SSH doesn't work, try:"
echo " ssh root@$PROXMOX_HOST"
echo " ssh $CONTAINER_NODE"
echo " pct enter $VMID"
echo " # Then set password: passwd root"
echo ""