#!/bin/bash # Function to display usage information usage() { echo "Usage: $0 [port2] [port3] ..." exit 1 } # Ensure at least two arguments are provided: host and one port if [ "$#" -lt 2 ]; then usage fi # Extract the host from the first argument HOST="$1" shift # Shift the arguments so that $@ contains the remaining ports # Initialize the PORTS variable PORTS="" # Iterate over the remaining arguments, which are the ports for port in "$@"; do PORTS="$PORTS -L ${port}:localhost:${port}" done # Construct and run the SSH command SSH_CMD="ssh -N -T -o ExitOnForwardFailure=yes $HOST $PORTS" echo "Running: $SSH_CMD" $SSH_CMD