Socks

Updated: 10 January 2025

Socks tunnel

# -D: Tells SSH that we want a SOCKS tunnel on the specified port number
# -f: Forks the process to the background
# -C: Compresses the data before sending it
# -q: Uses quiet mode
# -N: Tells SSH that no command will be sent once the tunnel is up

ssh -D 8123 -f -C -q -N user@example.com

Verify that the tunnel is up and running

ps aux | grep ssh

If using -f, close the tunnel when finished

kill <process id>

mysqldump and socks tunnel

Updated: 22 May 2023

The following bash script will open a socks tunnel ti a remote host and use mysqldump locally to backup a mysql database.

#!/bin/sh
DT=$(date '+%Y-%m-%dT%H:%M:%S')
SUFFIX=
FILENAME=$DT$SUFFIX
BACKUPSPATH=
USER=
IP=
PORT=
DBUSER=
DBPASS=
DBNAME=
echo "Opening socks tunnel to $IP"
echo "Writing $FILENAME"
ssh -f -L $PORT:127.0.0.1:$PORT $USER@$IP sleep 10; \
mysqldump -u $DBUSER -h 127.0.0.1 -p$DBPASS -P $PORT --routines $DBNAME > $BACKUPSPATH/$FILENAME