J'ai un serveur que nous allons appeler hub-server.tld avec trois adresses IP 100.200.130.121, 100.200.130.122 et 100.00.130.123. J'ai trois machines différentes qui sont derrière un pare-feu, mais je souhaite utiliser SSH pour transférer une machine à chaque adresse IP. Par exemple: une machine-one devrait écouter SSH sur le port 22 sur le 100.200.130.121, tandis que la machine-deux devrait faire la même chose sur 100.200.130.122, puis sur différents services sur des ports pouvant être identiques sur toutes les machines.
La page Homme SSH a -R [bind_address:]port:Host:hostport
Répertorié J'ai des ports de passerelle activés, mais lorsque vous utilisez -R
Avec une adresse IP spécifique, Server écoute toujours sur le port sur toutes les interfaces:
# ssh -NR 100.200.130.121:22:localhost:22 [email protected]
# 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
Existe-t-il un moyen de faire valoir SSH uniquement des connexions sur une adresse IP spécifique à la machine-one afin que je puisse écouter le port 22 sur les autres adresses IP en même temps, ou devrai-je faire quelque chose avec iptables? Voici toutes les lignes de ma configuration SSH qui ne sont pas des commentaires/par défaut:
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
De sshd_config(5)
:
Gatewayports
Specifies whether remote hosts are allowed to connect to ports forwarded for the client. By default, sshd(8) binds remote port forwardings to the loopback address. This prevents other remote hosts from connecting to forwarded ports. GatewayPorts can be used to specify that sshd should allow remote port forwardings to bind to non-loopback addresses, thus allowing other hosts to connect. The argument may be “no” to force remote port forwardings to be available to the local Host only, “yes” to force remote port forwardings to bind to the wildcard address, or “clientspecified” to allow the client to select the address to which the forwarding is bound. The default is “no”.
Vous souhaitez définir ceci sur clientspecified
au lieu de yes
.