SSH Port Yönlendirme için Arayüz Seçimi


24

100.200.130.121, 100.200.130.122 ve 100.200.130.123 numaralı üç IP adresi olan hub-server.tld adını çağıracağımız bir sunucum var. Güvenlik duvarının arkasında üç farklı makinem var, ancak bir makineyi her IP adresine iletmek için SSH kullanmak istiyorum. Örneğin: makine bir, 100.200.130.121'deki 22 numaralı bağlantı noktasındaki SSH'yi dinlemeli, makine iki ise 100.200.130.122'deki tüm aynı işlemleri yapmalı ve bu nedenle tüm makineler arasında aynı olabilecek farklı hizmetler için.

SSH man sayfası -R [bind_address:]port:host:hostportlistelenen ağ geçidi bağlantı noktalarım etkin, ancak -Rbelirli bir IP adresiyle kullanıldığında, sunucu hala tüm arabirimlerde bağlantı noktasını dinliyor:

Makine-on:

# ssh -NR 100.200.130.121:22:localhost:22 root@hub-server.tld

hub-server.tld (2222 numaralı bağlantı noktasındaki SSH'yi dinler):

# 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'yi yalnızca belirli bir IP adresindeki bağlantıları makineden birine iletmenin bir yolu var mı, böylece diğer IP adreslerinde 22 numaralı bağlantı noktasını aynı anda dinleyebilir miyim, yoksa iptables ile bir şey yapmam gerekir mi? İşte ssh config'teki yorum / varsayılan olmayan tüm satırlar:

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

Yanıtlar:


37

Kimden 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”.

Bunu clientspecifiedyerine ayarlamak istersiniz yes.


Harika. Teşekkürler! clientspecifiedSadece "etkin" demek yerine, gerekli olan ssh (1) sayfasının gerçekten keşfedilmesini diliyorum: "Uzak bir bind_adresi belirtmek yalnızca sunucunun GatewayPorts seçeneği etkinse başarılı olur (bkz. Sshd_config (5))" ". Bundan sonra, sadece ayarlanması gerektiğini düşündüm yes.
Eric Pruitt
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.