У меня есть сервер, который мы будем называть hub-server.tld с тремя IP-адресами 100.200.130.121, 100.200.130.122 и 100.200.130.123. У меня есть три разные машины, которые находятся за брандмауэром, но я хочу использовать SSH для переноса одной машины на каждый IP-адрес. Например: machine-one должен прослушивать SSH на порте 22 100.200.130.121, в то время как machine-one должен делать то же самое на 100.200.130.122 и т. Д. Для разных служб на портах, которые могут быть одинаковыми на всех машинах.
В справочной странице по SSH -R [bind_address:]port:host:hostport
указано, что у меня включены порты шлюза, но при использовании -R
с определенным IP-адресом сервер по-прежнему прослушивает порт через все интерфейсы:
машинно-один:
# ssh -NR 100.200.130.121:22:localhost:22 root@hub-server.tld
hub-server.tld (прослушивает SSH на порту 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
Есть ли способ заставить SSH перенаправлять соединения только с определенного IP-адреса на компьютер-один, чтобы я мог одновременно прослушивать порт 22 на других IP-адресах, или мне придется что-то делать с iptables? Вот все строки в моей конфигурации ssh, которые не являются комментариями / значениями по умолчанию:
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
это необходимо, вместо того, чтобы просто сказать «включено»: «Задание удаленного bind_address будет успешным, только если включена опция GatewayPorts на сервере (см. Sshd_config (5))». Исходя из этого, я думал, что это просто необходимо установитьyes
.