SSHポート転送用のインターフェースの選択


24

3つのIPアドレス100.200.130.121、100.200.130.122、および100.200.130.123でhub-server.tldを呼び出すサーバーがあります。ファイアウォールの背後にある3つの異なるマシンがありますが、SSHを使用して1つのマシンを各IPアドレスにポート転送したいと考えています。たとえば、machine-oneは100.200.130.121のポート22でSSHをリッスンする必要があり、machine-twoは100.200.130.122で同じことを実行する必要があります。

SSHのマニュアルページには-R [bind_address:]port:host:hostport、ゲートウェイポートが有効になっていると記載されていますが、-R特定のIPアドレスで使用する場合、サーバーは引き続きすべてのインターフェイスでポートをリッスンします。

マシン1:

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

hub-server.tld(ポート2222でSSHをリスン):

# 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

特定のIPアドレスの接続のみをマシン1に転送するためにSSHを転送する方法はありますか?ここにコメント/デフォルトではない私の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

回答:


37

から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”.

これをのclientspecified代わりに設定しyesます。


素晴らしいありがとう!ssh(1)のmanページclientspecifiedに、単に「有効」と言うのではなく、必要だと述べてほしいと思います。それから、に設定するだけでいいと思いましたyes
エリック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.