修改后重启sshd服务后报错信息如下:
Failed to start OpenSSH server daemon.
解决方法:关闭selinux
1.暂时关闭
1 | setenforce 0
2.永久关闭
1 | vi /etc/selinux/config
修改配置项:SELINUX=disabled,默认:#SELINUX=enforcing
1 | #重启服务器后生效
2 | reboot
3.开放防火墙
1 | vi firewall_open_port.sh
这个脚本提供了以下选项:
- 开放新端口:允许手动输入要开放的端口,并将其添加到防火墙规则。
- 列出已开放的端口:显示当前已开放的端口列表。
- 删除已开放的端口:允许输入要删除的端口,并将其从防火墙规则中删除。
- 退出:退出脚本
- 此脚本仅供参考,请根据自身需求修改
#!/bin/bash
green='\e[32m'
reset='\e[0m'
# 列出已开放的端口
list_open_ports() {
open_ports=$(sudo firewall-cmd --list-ports)
if [ -n "$open_ports" ]; then
echo -e "已开放的端口列表:${green}$open_ports${reset}"
else
echo "没有已开放的端口。"
fi
}
# 删除已开放的端口
delete_open_port() {
read -p "请输入要删除的端口(例如80): " port_to_delete
sudo firewall-cmd --remove-port=$port_to_delete/tcp --permanent
echo "已删除端口 $port_to_delete"
sudo firewall-cmd --reload
list_open_ports
}
# 主脚本
while true; do
echo "1. 开放新端口"
echo "2. 列出已开放的端口"
echo "3. 删除已开放的端口"
echo "4. 退出"
read -p "请选择一个选项 (1/2/3/4): " choice
case $choice in
1)
read -p "请输入要开放的端口(例如80): " port_to_open
sudo firewall-cmd --add-port=$port_to_open/tcp --permanent
echo "已开放端口 $port_to_open"
sudo firewall-cmd --reload
list_open_ports
;;
2)
list_open_ports
;;
3)
delete_open_port
;;
4)
exit
;;
*)
echo "请选择有效的选项 (1/2/3/4)"
;;
esac
done