4

After changing the port.

And restarting the SSH service, it failed on me.

I got the following info when I ran systemctl status sshd.service:

sshd.service: main process exited, code=exited, status=255/n/a
Unit sshd.service entered failed state.
sshd.service failed.

Any suggestions on how do I fix this (newb here)?

Michael Hampton
  • 244,070
  • 43
  • 506
  • 972
Nikk
  • 239
  • 1
  • 4
  • 10

1 Answers1

11

To allow sshd running on different port than default 22, you need to adjust SELinux policy, otherwise it will be blocked from binding the port. The procedure is explained just few lines above the line you were changing in sshd_config:

# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER

Therefore in your case, just run from root shell (or with sudo):

semanage port -a -t ssh_port_t -p tcp 977

and then try to restart the service again. If it will not solve your problems, have a look into the logs and update the question.

Jakuje
  • 9,715
  • 2
  • 42
  • 45
  • 1
    I'm having the same issue as the OP on Centos 7.5 but semanage wasn't found; solution is to install `policycoreutils-python` yum install policycoreutils-python [https://www.ostechnix.com/linux-troubleshooting-semanage-command-not-found-in-centos-7rhel-7/](https://www.ostechnix.com/linux-troubleshooting-semanage-command-not-found-in-centos-7rhel-7/) – user16081-JoeT Oct 29 '18 at 16:49