1. 安装OpenSSH服务器
在Debian系统上,首先通过以下命令安装OpenSSH服务器(若未安装):
sudo apt update && sudo apt install openssh-server -y
安装完成后,SSH服务会自动启动,可通过sudo systemctl status ssh验证服务状态(显示“active (running)”即为正常)。
2. 修改SSH配置文件加固
编辑SSH主配置文件/etc/ssh/sshd_config(修改前建议备份:sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak),调整以下关键参数以提升安全性:
Port 22改为非标准端口(如Port 2222),减少自动化暴力破解工具的扫描目标;PermitRootLogin no,避免攻击者直接尝试破解root账户;PasswordAuthentication no(需提前配置密钥认证),强制使用更安全的密钥认证;PermitEmptyPasswords no,防止无密码账户被滥用;AllowUsers your_username(替换为实际用户名),仅允许指定用户登录;X11Forwarding no(如无需X11图形转发)和AllowTcpForwarding no,减少潜在攻击面。3. 配置SSH密钥认证(推荐)
密钥认证是比密码更安全的身份验证方式,步骤如下:
ssh-keygen -t ed25519(推荐,安全性更高)或ssh-keygen -t rsa -b 4096(兼容性好),按提示保存密钥(默认路径~/.ssh/id_ed25519/~/.ssh/id_rsa),可选择设置私钥密码(增强私钥安全性);ssh-copy-id -p 2222 your_username@server_ip(若修改了端口,需替换2222)命令,将公钥自动复制到服务器的~/.ssh/authorized_keys文件中;若未安装ssh-copy-id,可手动复制:cat ~/.ssh/id_ed25519.pub | ssh -p 2222 your_username@server_ip 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'
.ssh目录权限为700(chmod 700 ~/.ssh),authorized_keys文件权限为600(chmod 600 ~/.ssh/authorized_keys),防止其他用户读取私钥或篡改授权文件。4. 配置防火墙限制访问
使用ufw(Uncomplicated Firewall)限制SSH端口访问,仅允许可信IP地址连接:
2222):sudo ufw allow 2222/tcp;sudo ufw enable;sudo ufw status(确认规则生效)。firewalld(如CentOS),可运行sudo firewall-cmd --permanent --add-port=2222/tcp和sudo firewall-cmd --reload。5. 重启SSH服务应用配置
修改配置文件后,需重启SSH服务使更改生效:
sudo systemctl restart ssh
若修改了端口等关键参数,建议通过本地终端(未关闭的SSH会话)操作,避免因配置错误导致无法远程连接。
6. 日志监控与日常维护
定期检查SSH日志(路径:/var/log/auth.log),分析登录尝试情况:
sudo tail -n 50 /var/log/auth.log | grep 'sshd';sudo grep 'Failed password' /var/log/auth.log;sudo grep 'Accepted' /var/log/auth.log。