Ich habe einen Server, den wir hub-server.tld mit drei IP-Adressen 100.200.130.121, 100.200.130.122 und 100.200.130.123 nennen. Ich habe drei verschiedene Computer, die sich hinter einer Firewall befinden, aber ich möchte SSH verwenden, um einen Computer an jede IP-Adresse weiterzuleiten. Beispiel: Maschine 1 sollte auf Port 22 am 100.200.130.121 auf SSH warten, während Maschine 2 am 100.200.130.122 dasselbe tun sollte, und so weiter auf verschiedene Dienste an Ports, die auf allen Maschinen gleich sein können.
In der SSH-Manpage ist -R [bind_address:]port:host:hostport
aufgeführt, dass ich Gateway-Ports aktiviert habe. Bei Verwendung -R
einer bestimmten IP-Adresse überwacht der Server den Port jedoch weiterhin über alle Schnittstellen hinweg:
Maschine eins:
# ssh -NR 100.200.130.121:22:localhost:22 [email protected]
hub-server.tld (Lauscht nach SSH an Port 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
Gibt es eine Möglichkeit, SSH-Verbindungen nur über eine bestimmte IP-Adresse an Computer 1 weiterzuleiten, damit ich gleichzeitig auf Port 22 der anderen IP-Adressen lauschen kann, oder muss ich etwas mit iptables tun? Hier sind alle Zeilen in meiner ssh-Konfiguration, die keine Kommentare / Standardwerte sind:
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
quelle
clientspecified
benötigt wird, anstatt nur "enabled" zu sagen: "Die Angabe einer entfernten Bindungsadresse ist nur dann erfolgreich, wenn die GatewayPorts-Option des Servers aktiviert ist (siehe sshd_config (5))". Davon ausgehend dachte ich, dass es nur eingestellt werden mussyes
.