在CentOS系统中安装和配置SSH Server是一项基础且重要的操作,无论是用于本地管理还是远程维护,Secure Shell(SSH)都是最常用的安全连接协议之一,本文将逐步指导您完成安装与基本配置过程,并提供一些实用建议。
安装SSH Server

默认情况下,CentOS通常预装了OpenSSH服务器组件,您可以通过以下命令确认是否已安装:
rpm -q openssh-server
如果系统显示未安装,则可以通过Yum包管理器进行安装,执行以下指令:
yum install openssh-server -y
安装完成后,启动SSH服务并设置为开机自启:
systemctl start sshd systemctl enable sshd
检查服务状态
为确保服务正常运行,可通过以下命令检查SSH服务状态:
systemctl status sshd
若服务显示为“active (running)”,则表示已成功启动。

配置SSH基础安全设置
默认配置虽可正常使用,但为了增强安全性,建议进行一些调整,配置文件位于 /etc/ssh/sshd_config,修改前请先备份原文件:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
使用文本编辑器(如vim或nano)打开配置文件:
vim /etc/ssh/sshd_config
以下几项是常见的安全优化设置:
- 修改默认端口:将
#Port 22改为Port [自定义端口],取消注释并更换端口号(例如2022)。 - 禁止root直接登录:将
#PermitRootLogin yes改为PermitRootLogin no。 - 限制用户登录:在文件末尾添加
AllowUsers [用户名],仅允许指定用户连接。 - 禁用密码认证(推荐使用密钥登录):将
#PasswordAuthentication yes改为PasswordAuthentication no。
完成修改后保存文件,并重启SSH服务使配置生效:
systemctl restart sshd
防火墙设置

若系统启用了防火墙,需放行SSH端口,如果修改了默认端口,请将以下命令中的“22”替换为自定义端口:
firewall-cmd --permanent --add-port=22/tcp firewall-cmd --reload
使用密钥认证登录
密钥认证比密码认证更安全,生成密钥对的方法如下(在客户端操作):
ssh-keygen -t rsa
将公钥上传至服务器:
ssh-copy-id -p [端口] [用户名]@[服务器IP]
此后登录即可免密码直接连接。
常见问题与处理方法
若连接失败,可从以下几方面排查:
- 确认SSH服务正在运行;
- 检查防火墙是否放行对应端口;
- 验证配置文件语法是否正确(可通过
sshd -t检测); - 查看日志文件
/var/log/secure获取详细错误信息。
对于公共网络中的服务器,建议结合fail2ban等工具防止暴力破解,并定期更新系统与openssh软件以修复潜在漏洞。
个人观点
掌握SSH的安装与基本配置是每个系统管理员的必备技能,合理的安全设置能显著降低服务器被恶意攻击的风险,而密钥认证的普及更是提升了整体操作效率与可靠性,无论是个人项目还是企业环境,投入时间优化SSH配置都是一项值得的投资。
