怎样在CentOS搭建SSH服务器
- 云服务器
- 2025-06-03
- 8
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修改配置文件,重点调整以下参数:

修改后保存文件,执行 :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规则:
启动服务并设置开机自启
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防暴力免费

-
双因素认证(2FA)
集成Google Authenticator:
yum install google-authenticator -y google-authenticator # 按提示生成密钥
在/etc/ssh/sshd_config中添加:
AuthenticationMethods publickey,keyboard-interactive - NIST SP 800-123:服务器安全配置指南
- Linux基金会SSH安全最佳实践
- Red Hat官方文档:Configuring SSH
- OpenSSH手册页:man sshd_config
- CERT安全指南:SSH Server Hardening
- CentOS Wiki:Security Tips
故障排查
问题现象 解决方案 Connection refused 检查防火墙/SELinux是否放行端口 Permission denied (publickey) 确认客户端公钥已写入~/.ssh/authorized_keys SSH服务无法启动 运行 journalctl -xe -u sshd 查看日志
搭建SSH服务器是CentOS管理的基石,但默认配置存在安全风险。务必遵循最小权限原则:禁用root登录、使用密钥认证、定期更新系统,对于生产环境,建议每季度审计sshd_config文件,并监控登录日志(/var/log/secure)。
权威安全建议:
引用说明
本文参考以下权威资源:

-