Perché non riesco a collegarmi a una porta del tunnel SSH inverso in remoto, anche con GatewayPorts abilitato?


20

Richiedo un accesso SSH costante a un host nel nostro dipartimento, il cui indirizzo IP è allocato dinamicamente. Ho impostato un tunnel SSH remoto dall'host di destinazione a uno dei nostri host che possiede un indirizzo IP statico:

ssh -f -N -g -R :22223:localhost:22 tunnelhost

Quando indico SSH verso la porta locale 22223sull'host del tunnel, il tunnel funziona bene. Il mio problema è che non riesco a far legare il tunnel a qualcosa di diverso da localhost, ad esempio quando provo a SSH da remoto tunnelhost:12323, non c'è una porta aperta per riceverlo. Ho anche provato:

ssh -f -N -R :22223:localhost:22 tunnelhost -o GatewayPorts=yes

Ma ancora niente fortuna. Netstat mi mostra:

[me@tunnel_host ~]$ netstat -an | grep 22223
tcp        0      0 127.0.0.1:22223         0.0.0.0:*               LISTEN
tcp6       0      0 ::1:22223               :::*                    LISTEN

Confermando che il tunnel è associato solo a localhost. Ho aggiunto un'eccezione di porta sull'host del tunnel, con firewalld-cmd, e mi sono assicurato che nessun hardware di rete interferisse con la connessione. Qualche idea su cosa potrebbe essere?

Saluti, James.

Risposte:


29

È necessario abilitare GatewayPorts=yesnella configurazione per SSHd ( /etc/ssh/sshd_config), non il client per abilitare l'associazione a interfacce diverse dal loopback su porte remote.

-o GatewayPorts=yes

Funziona solo per le porte locali quando viene passato al sshcomando.


Darth Android, grazie per la tua risposta. Sembra che tu abbia ragione su -g e -o GatewayPorts che funziona solo per tunnel oculari (-L). Per completezza, ecco qualche informazione in più su questo problema, nel caso in cui qualcuno lo incontri in futuro. bugs.debian.org/cgi-bin/bugreport.cgi?bug=228064
— James Paul Turner,

3
GatewayPorts=clientspecifiedè un'impostazione un po 'più sicura, vedi askubuntu.com/questions/50064/reverse-port-tunnelling . In questo caso, è necessario l'indirizzo di bind vuoto (due punti finali in :22223:localhost:2).
— Michael Goerz,

1
Direi che l' GatewayPorts=clientspecifiedimpostazione in sé non è più sicura, ma piuttosto consente un maggiore controllo su quali connessioni verranno associate ai caratteri jolly, invece di averle tutte associate ai caratteri jolly.
— Nick,

Inoltre, riavvia sshd dopo aver modificato sshd_config (in caso di dimenticanza)
— Nick

⚠️ Essere consapevoli del fatto che GatewayPorts=yesaprirà le porte inoltrate al mondo.
— ccpizza,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.