2.1 KiB
Accesso remoto a socket locali Unix via OpenSSH
1. Inoltro socket Unix
OpenSSH, oltre all’inoltro di porte TCP, consente anche l’inoltro di socket locali Unix.
1.1. Inoltro di un socket Unix remoto ad una porta TCP locale
Comando per collegare una porta TCP locale, ad esempio sul proprio PC, ad un socket remoto esistente su un server remoto.
[user@mypc ~]$ ssh -nNT -L 1234:/var/run/remote-app/remote-app.sock -o "ExitOnForwardFailure yes" remote-host
Esempio di inoltro del socket di PostgreSQL:
[user@mypc ~]$ ssh -nNT -L 5432:/var/run/postgresql/.s.PGSQL.5432 -o "ExitOnForwardFailure yes" remote-host
Accesso al database PostgreSQL remoto tramite la porta TCP locale 5432:
[user@mypc ~] psql -U db-user -h localhost -p 5432 my-db-name
1.2. Inoltro di un socket Unix locale ad una porta TCP remota
Il comando da usare è analogo al precedente. Lo schema seguente fa rimerimento all’host myhost dal quale si vuole inoltrare un socket locale my-app.sock ad una porta TCP sull’host remote-host:
[user@myhost ~]$ ssh -nNT -R /var/run/my-app/my-app.sock:localhost:1234 -o "ExitOnForwardFailure yes" remote-host
Questo comando stabilisce una connessione all’host remote-host attraverso la quale inoltrerà il socket my-app.sock alla porta 1234
aperta sull’interfaccia localhost di remote-host.
2. Riferimenti esterni
Per ulteriori approfondimenti vedere il post di Stefan Kreutz qui. Kreutz appofondisce il particolare le possibilità di controllare l’accesso remoto da un socket Unix mediante inoltro ad una porta TCP.
Celestino Amoroso
celestino . amoroso @ gmail . com
