Adds / tweaks a bunch of scripts
This commit is contained in:
		
							parent
							
								
									887f479d1f
								
							
						
					
					
						commit
						285165913d
					
				
					 13 changed files with 112 additions and 30 deletions
				
			
		
							
								
								
									
										67
									
								
								bin/.bin/sshportforward
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										67
									
								
								bin/.bin/sshportforward
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,67 @@ | |||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| choice(){ | ||||
| 	local prompt=${1:-"Please make a selection"} | ||||
| 	local choices="$(cat)" | ||||
| 	local x=1 | ||||
| 	local selection | ||||
| 	echo "$choices" | while read line; do | ||||
| 		echo "$x: $line" | column -t -s $'\t' > /dev/tty | ||||
| 		x=$((x+1)) | ||||
| 	done | ||||
| 	echo -n "$prompt " > /dev/tty | ||||
| 	read selection < /dev/tty | ||||
| 	echo "$choices" | sed -n "$selection p" | cut -d $'\t' -f 1 | ||||
| } | ||||
| 
 | ||||
| print_help(){ | ||||
| 	echo "$0 This helps with generating ssh tunnels" | ||||
| 	echo "	-h||--help	show this help" | ||||
| 	exit 0 | ||||
| } | ||||
| 
 | ||||
| dryrun="false" | ||||
| 
 | ||||
| while [[ $1 = -?* ]]; do | ||||
| 	case $1 in | ||||
| 		-h|--help) print_help >&2 ;; | ||||
| 		*) echo "Unknown option $1"; print_help >&2 ;; | ||||
| 	esac | ||||
| 	shift | ||||
| done | ||||
| 
 | ||||
| forwardtype="$( | ||||
| ( | ||||
| 	echo -e "local\tAccess on local machine something that is accessible on remote" | ||||
| 	echo -e "remote\tAccess on remote machine something that is accessible on local" | ||||
| 	echo -e "dynamic\tSimilar to local but creates a socks proxy" | ||||
| ) | choice "Forward Type:" )" | ||||
| 
 | ||||
| case "$forwardtype" in | ||||
| 	"local") | ||||
| 		echo "How would you access the resource if on the remote machine?" | ||||
| 		echo "e.g. localhost:8834 if nessus is hosted on the remote machine"  | ||||
| 		echo -n "> " | ||||
| 		read remote < /dev/tty | ||||
| 		echo "Which local port would you like to listen on?" | ||||
| 		echo -n "> " | ||||
| 		read localport < /dev/tty | ||||
| 		echo "ssh -L ${localport}:${remote} <server>" | ||||
| 		;; | ||||
| 	"remote") | ||||
| 		echo "How would you access the resource if on the local machine?" | ||||
| 		echo "e.g. internal-intranet:443 if there was an internal resource you wanted to get access to"  | ||||
| 		echo -n "> " | ||||
| 		read localresource < /dev/tty | ||||
| 		echo "Which remote port would you like to listen on the remote server (that you're sshing into)?" | ||||
| 		echo -n "> " | ||||
| 		read remoteport < /dev/tty | ||||
| 		echo "ssh -R ${remoteport}:${localresource} <server>" | ||||
| 		;; | ||||
| 	"dynamic") | ||||
| 		echo "Which local port would you like to listen on?" | ||||
| 		echo -n "> " | ||||
| 		read localport < /dev/tty | ||||
| 		echo "ssh -D ${localport} <server>" | ||||
| 		;; | ||||
| esac | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue