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

ssh

Updated: 07 November 2024

Prefer password authentication over public key

ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no user@example.com

Use a non-standard port

ssh user@192.168.1.1 -p 26

Generate a key pair

ssh-keygen -t rsa

Copy key to clipboard

cat ~/.ssh/id_rsa.pub | xclip -sel clip

Use one specific private key

ssh -o "IdentitiesOnly=yes" -i /home/me/path/to/private/key/id_rsa user@host