在Linux系统中安装SSH(Secure Shell)是远程管理服务器的关键步骤,以下为详细操作指南,涵盖主流发行版安装、配置优化及安全加固,所有命令均需root
权限(使用sudo -i
或sudo
前缀)。
安装SSH服务
Debian/Ubuntu 系
# 安装OpenSSH服务端 apt install openssh-server -y # 启动服务并设开机自启 systemctl enable --now ssh
RHEL/CentOS/Fedora 系
# CentOS 8+/Fedora dnf install openssh-server -y # CentOS 7 yum install openssh-server -y # 启动服务并设开机自启 systemctl enable --now sshd
Arch/Manjaro 系
pacman -S openssh systemctl enable --now sshd
防火墙配置
允许默认SSH端口(22):
# Ubuntu/Debian (UFW) ufw allow 22 # CentOS/Fedora (Firewalld) firewall-cmd --permanent --add-service=ssh firewall-cmd --reload # 通用iptables(临时) iptables -A INPUT -p tcp --dport 22 -j ACCEPT
安全加固配置
编辑配置文件:nano /etc/ssh/sshd_config
关键优化项:
# 修改默认端口(避免暴力扫描) Port 2222 # 示例端口,需同步更新防火墙 # 禁止root直接登录 PermitRootLogin no # 仅允许特定用户登录 AllowUsers your_username # 禁用密码登录(推荐密钥认证) PasswordAuthentication no # 限制登录尝试次数 MaxAuthTries 3 # 启用密钥认证 PubkeyAuthentication yes
应用配置:
systemctl restart sshd # 重启服务生效
密钥认证设置(更安全)
本地生成密钥对
ssh-keygen -t ed25519 # 默认保存到~/.ssh/
上传公钥到服务器
ssh-copy-id -p 22 -i ~/.ssh/id_ed25519.pub user@server_ip # 若修改过端口,替换-p后的端口号
连接测试
ssh -p 2222 your_username@server_ip # 指定端口和用户
✅ 成功提示:出现服务器终端即配置正常
❌ 失败排查:检查防火墙、端口、sshd
服务状态(systemctl status sshd
)
故障处理
- 端口占用:
netstat -tuln | grep 22
检查冲突进程 - 连接拒绝:确认
sshd
运行中(systemctl status sshd
) - 权限错误:确保
~/.ssh
权限为700
,密钥文件为600
安全建议
- 定期更新:
apt upgrade openssh-server
或yum update openssh-server
- Fail2Ban防护:自动屏蔽暴力破解IP
- 证书轮换:每3-6个月更换一次密钥对
- 审计日志:监控
/var/log/auth.log
(Debian)或/var/log/secure
(RHEL)
引用说明基于OpenSSH官方文档(openssh.com)及Linux man pages,配置建议遵循NIST SP 800-123安全指南,实际部署请结合您的发行版手册调整。
通过以上步骤,您已建立安全的SSH连接环境,始终遵循最小权限原则,并定期审查访问日志,可显著提升服务器防护能力。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8688.html