Você pode adicionar um usuário sem um shell de login válido:
# useradd -s /sbin/nologin dbuser
Defina sua senha:
# passwd dbuser
Ou deixe-o sem definição e faça as chaves SSH:
(on local machine)
$ ssh-keygen
(on remote machine)
# su -s /bin/bash - dbuser
$ cat local_id_rsa.pub >>~/.ssh/authorized_keys
Neste ponto, você pode usar o SSH para criar o túnel:
ssh -TfnN -L localhost:<local_port>:localhost:<db_server_port> dbuser@remote_host
Se você usou as chaves SSH para autenticar, isso funcionará automaticamente, caso contrário, você precisará digitar uma senha. O ssh irá para o fundo imediatamente após a autenticação e não tentará executar nenhum comando, mas o túnel estará aberto. Digite "localhost" e a tag < local_port > valor em seu cliente de banco de dados local e ele funcionará. No entanto:
$ ssh dbuser@remote_host
dbuser@remote_host's password:
Last login: Fri Oct 9 09:27:24 2015 from local_host
This account is currently not available.
Connection to remote_host closed.
O SSH não executará nenhum shell ou comando como usuário remoto; /sbin/nologin
vai expulsar todas as vezes.