Howto make SSH listens on multiple port

Although it is a security risks, it is possible to make OpenSSH listens on multiple port.

To do that, you need to edit /etc/ssh/sshd_config file. and enable the “GatewayPorts” option.

AllowTcpForwarding no
GatewayPorts yes
X11Forwarding no
#X11DisplayOffset 10

Look for the line that contain “Port 22”, and uncomment it if necessary, and add additional Port line to enable OpenSSH to listen to other ports. Like this:

Port 22
Port 80
Port 1025

The example will enable OpenSSH to listen to port 22,80,1025 simultaneously. Don’t forget to restart SSH service to enable the change by running :

sudo /etc/inet.d/sshd restart

Warning: Running SSH on multiple port may cause security risk, you have been warned!

Recommended Reading

3 Replies to “Howto make SSH listens on multiple port”

  1. GatewayPorts is not necessary to allow sshd to listen on multiple ports. It affects the behavior of forwarded ports. With GatewayPorts=no (default), other clients can’t connect to forwarded ports, because sshd listens only on the loopback address. With GatewayPorts=yes, any client can connect to a forwarded port, because it listens on the wildcard address (often specified as ‘*’ or ‘0.0.0.0’). There’s also GatewayPorts=clientspecified, where the client can choose (default = wildcard).

    Regardless, it doesn’t affect multiple ‘Port’ specifications.

  2. I have this set up but I’ve never looked into the GatewayPorts option before, and my default Debian sshd_config file doesn’t mention GatewayPorts. Reading the man page about it doesn’t clarify much for me…

Comments are closed.