This article is out of date. Arch Linux stopped shipping OpenSSH with socket activation due to the risk of DoS attack. Now you can just set
sshd_config as usual.
I often change the default SSH port from 22 to something else on servers I run. It kind of is a dangerous operation, especially when the only way you have to connect to that server is SSH.
The historical way to do this is editing
sshd_config and setting the
Port variable, but with recent versions of Arch Linux and the default configuration, this will not work.
The reason is that SSH is configured with systemd socket activation. So what you need to do is run
sudo systemctl edit sshd.socket and set the contents of the file to:
[Socket] ListenStream=MY_PORT Accept=yes
MY_PORT is the port number you want.
I hope this short post will avoid trouble for other people, at least it will be a reminder for me the next time I have to setup an Arch server…