上一篇
怎样在CentOS搭建SSH服务器
- 云服务器
- 2025-06-03
- 3527
在CentOS系统上搭建SSH服务器的核心步骤:安装
openssh-server
软件包,编辑
/etc/ssh/sshd_config
配置文件以调整安全设置(如端口、禁止root登录),启动并启用
sshd
服务,最后配置防火墙放行指定SSH端口以确保远程访问安全。
SSH(Secure Shell)是管理Linux服务器的核心工具,通过加密通道实现远程安全登录和文件传输,在CentOS上搭建SSH服务器不仅是运维基础,更是保障系统安全的关键步骤,本文基于CentOS 7/8编写,遵循Linux基金会和Red Hat官方最佳实践,所有操作需root
权限执行。
准备工作
-
更新系统
避免安全破绽,确保所有软件为最新版本:yum update -y && yum upgrade -y
-
检查现有SSH服务
多数CentOS已预装OpenSSH,确认状态:systemctl status sshd
若未安装,跳过此步直接进入安装环节。
安装OpenSSH服务器
yum install openssh-server -y
关键配置(编辑/etc/ssh/sshd_config
)
用nano
或vi
修改配置文件,重点调整以下参数:
vi /etc/ssh/sshd_config
# 修改端口(降低暴力破解风险) Port 2222 # 建议改用1024-65535的高端口 # 禁止root直接登录 PermitRootLogin no # 仅允许特定用户登录(示例允许用户admin) AllowUsers admin # 启用密钥认证,禁用密码登录(强推) PasswordAuthentication no PubkeyAuthentication yes # 限制登录尝试次数 MaxAuthTries 3 # 超时自动断开 ClientAliveInterval 300 ClientAliveCountMax 0
修改后保存文件,执行 :wq
(vi编辑器)。
安全提示:
- 改端口前需确认防火墙放行新端口
- 禁用密码前必须配置SSH密钥
防火墙与SELinux设置
-
放行SSH端口
# CentOS 7 firewall-cmd --permanent --add-port=2222/tcp # 替换为你的端口 firewall-cmd --reload # CentOS 8(使用firewalld或nftables) firewall-cmd --add-port=2222/tcp --permanent && firewall-cmd --reload
-
SELinux策略调整
若修改默认端口(22),需更新SELinux规则:semanage port -a -t ssh_port_t -p tcp 2222
启动服务并设置开机自启
systemctl enable sshd && systemctl restart sshd
验证服务状态:
systemctl status sshd | grep "Active:"
正常输出应包含 active (running)
客户端连接测试
-
Linux/Mac终端
ssh -p 2222 admin@服务器IP
-
Windows用户
使用PuTTY或Windows Terminal,指定端口和密钥路径。
高级安全加固(可选)
-
Fail2ban防暴力破解
yum install epel-release -y yum install fail2ban -y systemctl enable --now fail2ban
-
双因素认证(2FA)
集成Google Authenticator:yum install google-authenticator -y google-authenticator # 按提示生成密钥
在
/etc/ssh/sshd_config
中添加:AuthenticationMethods publickey,keyboard-interactive
故障排查
问题现象 | 解决方案 |
---|---|
Connection refused | 检查防火墙/SELinux是否放行端口 |
Permission denied (publickey) | 确认客户端公钥已写入~/.ssh/authorized_keys |
SSH服务无法启动 | 运行 journalctl -xe -u sshd 查看日志 |
搭建SSH服务器是CentOS管理的基石,但默认配置存在安全风险。务必遵循最小权限原则:禁用root登录、使用密钥认证、定期更新系统,对于生产环境,建议每季度审计sshd_config
文件,并监控登录日志(/var/log/secure
)。
权威安全建议:
- NIST SP 800-123:服务器安全配置指南
- Linux基金会SSH安全最佳实践
引用说明
本文参考以下权威资源:
- Red Hat官方文档:Configuring SSH
- OpenSSH手册页:
man sshd_config
- CERT安全指南:SSH Server Hardening
- CentOS Wiki:Security Tips