Ho un server che chiameremo hub-server.tld con tre indirizzi IP 100.200.130.121, 100.200.130.122 e 100.200.130.123. Ho tre macchine diverse che si trovano dietro un firewall, ma voglio usare SSH per il port forwarding di una macchina a ciascun indirizzo IP. Ad esempio: machine-one dovrebbe ascoltare SSH sulla porta 22 il 100.200.130.121, mentre machine-due dovrebbe fare lo stesso il 100.200.130.122 e così via per servizi diversi su porte che possono essere uguali su tutte le macchine.
La pagina man di SSH ha -R [bind_address:]port:host:hostport
elencato Ho porte gateway abilitate, ma quando si usa -R
con un indirizzo IP specifico, il server è ancora in ascolto sulla porta attraverso tutte le interfacce:
machine-one:
# ssh -NR 100.200.130.121:22:localhost:22 root@hub-server.tld
hub-server.tld (ascolta SSH sulla porta 2222):
# netstat -tan | grep LISTEN
tcp 0 0 100.200.130.121:2222 0.0.0.0:* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 :::80 :::* LISTEN
C'è un modo per fare in modo che SSH inoltri solo connessioni su un indirizzo IP specifico a machine-one in modo da poter ascoltare contemporaneamente la porta 22 sugli altri indirizzi IP o dovrò fare qualcosa con iptables? Ecco tutte le righe nella mia configurazione SSH che non sono commenti / impostazioni predefinite:
Port 2222
Protocol 2
SyslogFacility AUTHPRIV
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication no
GSSAPICleanupCredentials no
UsePAM yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL
AllowTcpForwarding yes
GatewayPorts yes
X11Forwarding yes
ClientAliveInterval 30
ClientAliveCountMax 1000000
UseDNS no
Subsystem sftp /usr/libexec/openssh/sftp-server
clientspecified
era necessario invece di dire semplicemente "abilitato": "La specifica di un indirizzo_ind_bind remoto avrà successo solo se l'opzione GatewayPorts del server è abilitata (vedere sshd_config (5))". Da quello, ho pensato che doveva essere impostato suyes
.