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 Port
in 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
where 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…