Auto start an SSH tunnel and keep alive
Hold on Cowboy
This blog post is pretty old. Be careful with the information you find in here. The Times They Are A-Changin'
I have a program that needs to talk to another server, but to secure the traffic I’ve set up a port forwarding SSH tunnel. The only problem is that this tunnel needs to be kept alive and started when the server boots up. Here is how, using
/etc/inittab
For the server you want to make connections from follow these instructions.
Open up
/etc/inittaband insert this code somewhere near the bottom `
Keeps an SSH port forwarding connect between serverA <---> serverB for mysql
sm:345:respawn:/usr/bin/ssh -N -L 3307:127.0.0.1:3306 -l admin 192.168.1.5 ` Let’s break it down
- **sm** This is just an random two letter code that distinguishes it from other processes inside inittab
- **345** These are run-levels that you want the process to run.
- **respawn** What to do if the process dies, respawn it
- **/usr/bin/ssh** ssh binary
- **-N** Tells SSH not to run any remote command after the connection has been established
- **-L 3307:127.0.0.1:3306** This tells SSH to set up a tunnel with local port being 3307, remote host 127.0.0.1, remote port 3306
- **-l admin** What user to log in by
- **192.168.1.5** Remote host to SSH into
For those familiar with SSH, it should go without saying that you need to set up pre-shared keys to automatically log into the remote server