====== Script: Connect to VPN, and then SSH into remote server ======
Puting passwords in scripts is insecure! Use ssh keys instead.
Assumption: You are using network manager, and have a VPN connection named VPN1 already set up
Create a script called **conn** and make it executable
#!/bin/bash
if [ $1 = 'srv1' ]; then
nmcli con up id VPN1
sshpass -p 'remotepassword' ssh remoteuser@192.168.2.20
nmcli con down id VPN1
fi
Calling the script with **./conn srv1** will up the VPN interface, and connect to remote server via SSH, and down the interface when SSH exists.
You can move the script to /usr/bin directory to be able to call it from anywhere, and without using **./**
For better (any) security, don't use password in a script, or better yet, use a ssh key pair. Tutorial here [[linux:misc:ssh_key_pairs|Using SSH keys to authenticate users]], and here [[linux:misc:ssh_keys|Setup SSH public/private keys and disabling password login]]
Copy the if/fi block for each remote server and/or vpn interface