CentOS SSH与iptables配置指南

SSH配置
SSH(Secure Shell)是一种网络协议,用于计算机之间的安全通信,在CentOS系统中,SSH是远程登录和管理服务器的常用工具,以下是如何在CentOS上配置SSH服务。
安装SSH服务
确保你的CentOS系统已经安装了SSH服务,可以使用以下命令检查:
ssh -V
如果未安装,可以使用以下命令安装SSH服务:
sudo yum install openssh-server
配置SSH服务
安装完成后,需要配置SSH服务,以下是一些常见的配置步骤:
- 修改SSH端口:默认情况下,SSH服务监听22端口,如果需要更改端口,可以编辑
/etc/ssh/sshd_config文件:
sudo nano /etc/ssh/sshd_config
找到Port行,将其修改为你想要的端口号,
Port 2222 - 允许Root用户登录:默认情况下,SSH不允许Root用户登录,如果你需要允许Root用户登录,可以找到
PermitRootLogin行,并将其修改为yes:
PermitRootLogin yes - 修改SSH密码登录:为了提高安全性,建议使用密钥对进行认证,而不是密码,下面将介绍如何生成密钥对。
生成密钥对
使用以下命令生成一个SSH密钥对:
ssh-keygen -t rsa -b 2048
系统会提示你输入文件保存路径和密码,你可以直接按回车键使用默认路径和密码。

将公钥复制到远程服务器
将生成的公钥复制到远程服务器的~/.ssh/authorized_keys文件中,可以使用以下命令:
ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@远程服务器IP
重启SSH服务
完成以上步骤后,需要重启SSH服务以使配置生效:
sudo systemctl restart sshd
iptables配置
iptables是Linux系统中用于实现网络防火墙的命令行工具,以下是如何在CentOS上配置iptables。
安装iptables
确保你的CentOS系统已经安装了iptables:
sudo yum install iptables
查看当前iptables规则
使用以下命令查看当前iptables规则:
sudo iptables -L
添加规则

以下是一些常见的iptables规则示例:
- 允许SSH连接:
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
- 允许特定IP访问:
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
- 允许所有入站流量:
sudo iptables -A INPUT -j ACCEPT
- 允许所有出站流量:
sudo iptables -A OUTPUT -j ACCEPT
保存规则
将iptables规则保存到文件中,以便在系统重启后自动加载:
sudo iptables-save > /etc/sysconfig/iptables
重启iptables服务
重启iptables服务以使规则生效:
sudo systemctl restart iptables
FAQs
Q1:如何查看SSH服务的状态?
A1:使用以下命令查看SSH服务的状态:
sudo systemctl status sshd
Q2:如何禁用SSH服务?
A2:使用以下命令禁用SSH服务:
sudo systemctl disable sshd

