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
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.
To restart SSH command is
$ sudo /etc/init.d/ssh restart
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…