请输入手机号码
请输入密码
高防服务器SSH远程管理指南
SSH(Secure Shell)是高防服务器远程管理的核心工具,通过加密通信保障管理操作的安全性。针对高防场景,需从服务配置、认证方式、访问控制、安全加固四大维度优化SSH远程管理,以下是具体步骤:
高防服务器(如CentOS、Ubuntu)默认安装OpenSSH服务(openssh-server
)。通过以下命令确认服务状态:
systemctl status sshd # CentOS/RHEL
systemctl status ssh # Ubuntu/Debian
若未运行,启动服务并设置开机自启:
systemctl start sshd && systemctl enable sshd
编辑SSH配置文件/etc/ssh/sshd_config
,调整以下核心参数以提升安全性:
默认22端口易被自动化工具扫描,建议更改为1024-65535之间的非标准端口(如62022
):
Port 62022 # 取消注释并修改为自定义端口
Root账户权限过高,直接登录风险大。改为普通用户登录后通过sudo
提权:
PermitRootLogin no # 禁止root登录
通过AllowUsers
指令仅允许指定用户从特定IP登录(如允许用户admin
从公司IP192.168.1.100
登录):
AllowUsers admin@192.168.1.100 # 格式:用户名@IP地址
或通过DenyUsers
禁止高风险用户(如test
):
DenyUsers test # 禁止test用户登录
密码易被暴力破解,改用SSH密钥对认证(更安全):
PasswordAuthentication no # 禁用密码登录
PubkeyAuthentication yes # 启用密钥认证(默认已启用)
旧版SSH协议(V1)存在安全漏洞,需禁用;DNS反向解析会增加延迟,建议关闭:
Protocol 2 # 仅使用SSH V2协议
UseDNS no # 禁用DNS反向解析
密钥对认证是防止密码破解的有效方式,步骤如下:
在本地计算机(如Windows/Mac)生成RSA或Ed25519密钥对(推荐Ed25519,安全性更高):
ssh-keygen -t ed25519 -C "your_email@example.com" # 生成Ed25519密钥
# 或
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" # 生成RSA密钥(4096位)
按提示保存密钥文件(默认路径~/.ssh/id_ed25519
/~/.ssh/id_rsa
),可选设置私钥密码(增强私钥安全性)。
将本地公钥(id_ed25519.pub
或id_rsa.pub
)上传至服务器的~/.ssh/authorized_keys
文件:
ssh-copy-id -i ~/.ssh/id_ed25519.pub adminuser@服务器IP -p 62022
或手动复制(若未安装ssh-copy-id
):
cat ~/.ssh/id_ed25519.pub | ssh adminuser@服务器IP -p 62022 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
通过密钥登录服务器(无需输入密码):
ssh -i ~/.ssh/id_ed25519 adminuser@服务器IP -p 62022
若配置正确,将直接进入服务器命令行。
仅开放SSH端口(如62022
),拒绝其他入站流量:
sudo ufw allow 62022/tcp # 开放SSH端口
sudo ufw enable # 启用防火墙
sudo ufw status # 查看规则
Fail2ban可自动封禁多次登录失败的IP地址:
sudo apt install fail2ban -y # Ubuntu/Debian
sudo systemctl start fail2ban && systemctl enable fail2ban
修改配置文件/etc/fail2ban/jail.local
,设置SSH防护参数:
[sshd]
enabled = true
maxretry = 3 # 允许3次失败尝试
findtime = 600 # 10分钟内
bantime = 3600 # 封禁1小时
重启Fail2ban生效:
sudo systemctl restart fail2ban
sudo apt update && sudo apt upgrade openssh-server -y # Ubuntu/Debian
sudo yum update openssh-server -y # CentOS/RHEL
journalctl
或/var/log/auth.log
(Ubuntu)查看登录记录,及时发现异常。sudo journalctl -u sshd | grep 'Accepted' # 查看成功登录记录
sudo journalctl -u sshd | grep 'Failed' # 查看失败登录记录
通过以上步骤,可实现高防服务器SSH远程管理的安全配置,有效防范暴力破解、密码泄露等风险,保障服务器的稳定与数据安全。