Configuration for multiple port SSH

I need to listen to SSH on two ports: 22 for hosting admin access and 26 for regular access. I would like to disallow root login on 26 and disallow all but internal IPs for port 22. The latter can be done with iptables rules, but I don't know about the former. Any ideas?


Solution 1:

In /etc/ssh/sshd_config, make the following change. Look for the line that says Port 22 and add a similar line under it.

Port 22
Port 26

Save the file and restart the sshd daemon.

I do this in situations where I have ssh enabled for internal users on port 22, but require external connectivity on say, port 2222. This binds the ssh daemon to both port numbers.

Solution 2:

You can use the -f option to sshd to specify an alternate configuration file. In the configuration file you would need to use the

Port 26 

directive to change the port that the sshd is listening on.

set

PermitRootLogin no

to disable root logins

You can then do something like

/usr/sbin/sshd -f /etc/ssh/sshd_config_port_26

You may want to copy the standard sshd startup script and modify them so that you can start the port 26 service at startup.

Why are you doing this ?