在Linux中重启端口号为22的SSH服务,可以通过以下几种方式实现:
1. 使用systemctl(Systemd系统适用)
大多数现代Linux发行版(如Ubuntu、CentOS 7+)使用Systemd管理服务,执行以下命令:
bash
sudo systemctl restart sshd
如果是Debian/Ubuntu系统,服务名可能为`ssh`而非`sshd`:
bash
sudo systemctl restart ssh
2. 使用service命令(SysVinit系统适用)
较旧系统(如CentOS 6)可能使用SysVinit,命令如下:
bash
sudo service sshd restart
3. 直接重启SSH守护进程
通过查找进程ID并发送SIGHUP信号实现重启(不推荐生产环境使用):
bash
sudo kill -HUP $(cat /var/run/sshd.pid)
4. 修改配置后重载
如果仅需重新加载配置(如`sshd_config`)而不断开现有连接:
bash
sudo systemctl reload sshd
扩展知识:
端口22与SSH协议:SSH默认22端口,修改端口需编辑`/etc/ssh/sshd_config`中的`Port`参数,并重启服务。
防火墙处理:若使用防火墙(如firewalld/ufw),需确保新端口开放,例如:
bash
sudo firewall-cmd --add-port=22/tcp --permanent && sudo firewall-cmd --reload
SELinux影响:在启用SELinux的系统上,需确认端口上下文是否正确。
日志排查:重启失败时可查看日志:
bash
journalctl -u sshd -xe
连接保持:重启会中断现有连接,建议在维护窗口操作,或用`mosh`等工具增强会话持久性。