显示"无法启动OpenSSH服务器守护程序"错误时怎么办
问题现象
Linux系统的ECS实例中,SSH服务(sshd.service)无法启动。执行systemctl status sshd.service查看SSH服务,显示错误"Failed to start OpenSSh server daemon"。
sshd status
问题原因
此问题可能由SSH服务端口(22)被占用导致。
解决方案
可通过修改占用端口22的服务的端口号,或根据业务需要修改SSH服务端口来解决此问题。
1. 通过VNC远程连接ECS实例。
2. 执行以下命令,以测试模式运行SSH服务。
/sbin/sshd -d
显示信息如下,表示端口22被占用,SSH服务无法启动。
3. 执行以下命令,检查端口22的使用情况。
ss -tunlp | grep 22
显示信息如下,表示端口22被Nginx服务占用。
重要 本文中以Nginx服务占用端口22为例,请以实际情况为准。
Ngnix takes 22
4. 可根据需要选择合适的方式解决此问题。
4.1 修改Nginx服务端口号。
执行以下命令,打开nginx.conf配置文件。
vim /etc/nginx/nginx.conf
将Nginx占用的端口号修改为80。
Modify the port occupied by Ngnix
按Esc键后,输入:wq并按Enter键,保存并关闭配置文件。
执行以下命令,重启Nginx服务。
systemctl restart nginx
执行以下命令,重启SSH服务。
systemctl restart sshd.service
4.2 修改SSH服务端口号。
执行以下命令,打开sshd_config配置文件。
vim /etc/ssh/sshd_config
将SSH服务的端口号修改为2222。
Modify the port occupied by SSH
按Esc键后,输入:wq并按Enter键,保存并关闭配置文件。
执行以下命令,重启SSH服务。
