SSH crib
Port forwarding:
ssh -f -N -L 127.0.0.1:LOCAL_PORT:127.0.0.1:REMOTE_PORT user@host
-f requests ssh to go to background
-N do not execute a remote command, we just want to forward a port, nothing else
-L open local port and forward all traffic to specified remote address/port
127.0.0.1:LOCAL_PORT local port gonna be opened on loopback interface; 127.0.0.1 can be replaced wirth just 127.1
127.0.0.1:REMOTE_PORT ssh will forward all traffic to that address:port
Login using key:
ssh -i /path/to/key user@host
-i path to key file; file should be generated by `ssh-keygen` and copied to remote host using `ssh-copy-id` or manualy
Connection sharing - allows multiple 'virtual' ssh connections to operate via one real tcp session.
Master mode:
ssh -M -S /path/to/socket user@host
-M put ssh client to master mode
-S /path/to/socket master process will create that socket
Controlling existing connection:
ssh -S /path/to/socket -O exit
-O exit ask master process to exit; also some other commands available (such as 'check') - refer to man page
All together:
Start port forwarding session
ssh -f -N -L 127.0.0.1:LOCAL_PORT:127.0.0.1:REMOTE_PORT -i /path/to/key -M -S /path/to/socket user@host
Kill it:
ssh -S /path/to/socket -O exit user@host