首页主机资讯CentOS SSH远程管理如何设置

CentOS SSH远程管理如何设置

时间2025-10-17 19:07:04发布访客分类主机资讯浏览391
导读:一、安装与启动SSH服务 在CentOS上设置SSH远程管理的第一步是确保OpenSSH服务器已安装并运行。默认情况下,CentOS系统通常预装openssh-server,可通过以下命令验证: sudo systemctl status...

一、安装与启动SSH服务
在CentOS上设置SSH远程管理的第一步是确保OpenSSH服务器已安装并运行。默认情况下,CentOS系统通常预装openssh-server,可通过以下命令验证:

sudo systemctl status sshd

若未安装,使用yum包管理器安装:

sudo yum install openssh-server -y

安装完成后,启动SSH服务并设置为开机自启(确保系统重启后SSH服务自动运行):

sudo systemctl start sshd
sudo systemctl enable sshd

二、配置防火墙允许SSH连接
CentOS 7及以上版本默认使用firewalld作为防火墙,需开放SSH服务对应的端口(默认22):

sudo firewall-cmd --permanent --add-service=ssh  # 永久添加SSH服务规则
sudo firewall-cmd --reload                     # 重新加载防火墙配置使规则生效

若需限制SSH访问的IP范围,可使用更精细的富规则(例如仅允许192.168.1.0/24网段访问):

sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'
sudo firewall-cmd --reload

三、优化SSH配置文件提升安全性
SSH的核心配置文件为/etc/ssh/sshd_config,需通过编辑该文件调整以下关键参数(修改前建议备份原文件):

  1. 更改默认端口:将#Port 22修改为其他端口(如2222),减少针对默认端口的自动化扫描攻击:
    Port 2222
    
  2. 禁用root直接登录:禁止root用户通过SSH直接登录,降低服务器被暴力破解的风险:
    PermitRootLogin no
    
  3. 限制允许登录的用户:通过AllowUsers指令指定可登录的用户(例如仅允许user1user2登录):
    AllowUsers user1 user2
    
  4. 禁用密码认证(推荐密钥认证):关闭密码登录,仅允许使用SSH密钥认证,大幅提升安全性:
    PasswordAuthentication no
    PubkeyAuthentication yes
    
  5. 限制密码尝试次数:设置MaxAuthTries参数(如3次),超过次数后断开连接,防止暴力破解:
    MaxAuthTries 3
    

修改完成后,重启SSH服务使配置生效:

sudo systemctl restart sshd

四、配置SSH密钥认证(可选但推荐)
密钥认证比密码认证更安全,能有效防止密码泄露导致的服务器入侵。步骤如下:

  1. 在本地计算机生成密钥对:使用ssh-keygen命令生成RSA密钥对(默认保存路径为~/.ssh/id_rsa,私钥;~/.ssh/id_rsa.pub,公钥):
    ssh-keygen -t rsa -b 4096
    
    按提示操作(可直接按回车键使用默认路径和空密码)。
  2. 将公钥复制到远程服务器:使用ssh-copy-id命令将本地公钥复制到远程服务器的~/.ssh/authorized_keys文件中(需输入远程用户的密码):
    ssh-copy-id user1@remote_ip -p 2222  # 若修改了SSH端口,需添加-p参数指定端口
    
  3. 测试密钥认证登录:使用SSH命令连接远程服务器,无需输入密码:
    ssh user1@remote_ip -p 2222
    

五、使用Fail2Ban防止暴力破解(可选)
Fail2Ban是一款入侵防御工具,可监控SSH登录日志,自动封禁多次尝试失败的IP地址。安装与配置步骤如下:

  1. 安装Fail2Ban
    sudo yum install epel-release -y      # 安装EPEL仓库
    sudo yum install fail2ban -y          # 安装Fail2Ban
    
  2. 配置Fail2Ban:编辑/etc/fail2ban/jail.local文件,添加SSH防护规则:
    [sshd]
    enabled = true                      # 启用SSH防护
    port = ssh                          # 监控SSH端口(默认22,若修改了端口需同步调整)
    filter = sshd                       # 使用sshd过滤规则
    logpath = /var/log/secure             # SSH登录日志路径
    maxretry = 3                        # 允许的最大失败次数
    bantime = 600                       # 封禁时间(秒),例如600秒=10分钟
    
  3. 启动Fail2Ban服务
    sudo systemctl start fail2ban
    sudo systemctl enable fail2ban
    

六、测试SSH连接
完成上述配置后,从本地计算机测试SSH连接:

ssh user1@remote_ip -p 2222  # 若未修改端口,可省略-p参数

若配置了密钥认证,直接登录;若使用密码认证,输入用户密码即可。若连接失败,可通过tail -f /var/log/secure查看SSH日志排查问题(如端口未开放、配置文件语法错误等)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS SSH远程管理如何设置
本文地址: https://pptw.com/jishu/729266.html
Ubuntu挂载时提示权限不足 CentOS上Postman界面定制

游客 回复需填写必要信息