Files
Sankofa/scripts/ssh-proxmox.sh

86 lines
1.8 KiB
Bash
Raw Permalink Normal View History

#!/bin/bash
# SSH to Proxmox Server
set -e
# Default values
USERNAME="root"
PORT="22"
IP_ADDRESS=""
# Colors
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Function to display usage
usage() {
echo "Usage: $0 <IP_ADDRESS> [OPTIONS]"
echo ""
echo "Options:"
echo " -u, --user USERNAME SSH username (default: root)"
echo " -p, --port PORT SSH port (default: 22)"
echo " -h, --help Show this help message"
echo ""
echo "Examples:"
echo " $0 192.168.11.10"
echo " $0 192.168.11.10 -u root -p 22"
echo " $0 10.1.0.10"
echo ""
echo "Known Proxmox IPs from config:"
echo " • Site 1: 192.168.11.10, 10.1.0.10"
echo " • Site 2: 192.168.11.11, 10.2.0.10"
exit 1
}
# Parse arguments
if [ $# -eq 0 ]; then
usage
fi
IP_ADDRESS=$1
shift
while [[ $# -gt 0 ]]; do
case $1 in
-u|--user)
USERNAME="$2"
shift 2
;;
-p|--port)
PORT="$2"
shift 2
;;
-h|--help)
usage
;;
*)
echo -e "${RED}Unknown option: $1${NC}"
usage
;;
esac
done
# Validate IP address
if [ -z "$IP_ADDRESS" ]; then
echo -e "${RED}Error: IP address is required${NC}"
usage
fi
# Test connectivity
echo -e "${YELLOW}Testing connectivity to $IP_ADDRESS...${NC}"
if ping -c 1 -W 2 "$IP_ADDRESS" &>/dev/null; then
echo -e "${GREEN}✓ Host is reachable${NC}"
else
echo -e "${YELLOW}⚠ Host may not be reachable (ping failed, but continuing...)${NC}"
fi
# SSH connection
echo -e "${YELLOW}Connecting to Proxmox at $IP_ADDRESS...${NC}"
echo -e "${GREEN}SSH Command: ssh -p $PORT $USERNAME@$IP_ADDRESS${NC}"
echo ""
ssh -p "$PORT" "$USERNAME@$IP_ADDRESS"