Estou assumindo que sua conexão é clara, de localhost a $VPS:4000 .
Para fazer um túnel SSH, você abrirá uma porta em localhost que tuneará o tráfego para a porta 4000 no servidor $VPS .
A seguinte linha de comando faz isso:
ssh -L9000:localhost:4000 user@$VPS
onde 9000 é a porta local que eu escolhi.
Em seguida, você precisa alterar seu aplicativo para não se conectar mais a $VPS:4000 , mas se conectar em vez de localhost:9000 .
Isso funciona conectando-se a user@$VPS e, em seguida, criando uma conexão segura entre localhost:9000 no host local e localhost:4000 no host remoto.
Dessa forma, a criptografia é transparente para você e você não precisa se preocupar em tentar implementar qualquer algoritmo de criptografia. Ou pior - faça o seu próprio.
Você faz precisa garantir que a conexão SSH esteja sempre disponível quando você precisar. Pode ser útil usar a autenticação de chave pública, caso você não esteja familiarizado com ela:)