Hero image home@2x

如何在CentOS系统中允许SSH登录并确保安全性

如何在CentOS系统中允许SSH登录并确保安全性

允许SSH登录到CentOS

在CentOS系统中,默认情况下SSH服务是安装和启用的(以便远程管理)。然而,为了增强安全性,许多情况下需要根据系统需求进行配置。本文将详细介绍如何配置CentOS以允许SSH登录,并包括重要的操作步骤、命令示例及一些注意事项。

步骤1: 安装SSH服务

大多数情况下,CentOS系统会自带SSH服务器(OpenSSH)。你可以通过以下命令确认SSH服务是否已经安装并正在运行:

systemctl status sshd

如果显示服务未找到或未运行,可以使用以下命令进行安装和启动:

yum install openssh-server -y

systemctl start sshd

systemctl enable sshd

步骤2: 配置防火墙以允许SSH

确保防火墙规则允许SSH连接。使用以下命令检查当前防火墙规则:

firewall-cmd --list-all

  • 如需允许SSH通过防火墙,可以执行以下命令:
  • firewall-cmd --permanent --add-service=ssh

    firewall-cmd --reload

步骤3: 修改SSH配置文件(可选)

SSH的配置信息存储在/etc/ssh/sshd_config文件中。为了更改默认端口或禁止root用户登录,编辑此文件:

vi /etc/ssh/sshd_config

  • 常见的配置选项包括:
    • 更改SSH端口:找到#Port 22行,将其取消注释并更改为所需端口,例如:
    • Port 2222

    • 禁止root登录:找到#PermitRootLogin yes行,将其取消注释并更改为no:
    • PermitRootLogin no

修改完成后,保存文件并重启SSH服务:

systemctl restart sshd

步骤4: 测试SSH连接

可以通过另一台计算机测试SSH连接。使用以下命令,其中是CentOS系统的IP地址,

是SSH端口(如果使用默认端口22则可以省略):

ssh username@ -p 

如果配置正确,系统将提示输入密码并允许登录。

注意事项

  • 安全性:如需提高安全性,建议使用SSH密钥认证,禁用密码登录。
  • 防火墙:确认防火墙已运行并不会阻止SSH流量。
  • IP地址:确保知道CentOS机器的公共IP地址,如果使用动态地址,可能需要更新DNS或使用动态DNS服务。

实用技巧

  • 建议使用非标准端口以减少被攻击的概率。
  • 定期查看/var/log/secure日志以监控SSH登录尝试。
  • 使用fail2ban等工具,自动阻止多次失败的登录尝试。