在现代的 IT 管理中,SSH(Secure Shell)是一种广泛使用的加密网络协议,它使得用户可以安全地访问远程服务器。特别是在 CentOS 系统中,SSH 服务是远程管理和维护的重要工具。本文将详细介绍如何在 CentOS 系统中启动和配置 SSH 服务(sshd).

一、安装 SSH 服务
在大多数情况下,CentOS 系统会默认安装 SSH 服务,但为了确保你使用的是最新版本,首先可以通过以下命令检查 SSH 服务是否已安装:
rpm -qa | grep openssh
如果没有安装,可以通过以下命令进行安装:

sudo yum install openssh-server openssh-clients
安装完成后,可以使用以下命令检查 SSH 服务的状态:

systemctl status sshd
二、启动 SSH 服务
安装完成后,可以使用以下命令启动 SSH 服务:
sudo systemctl start sshd
为了确保 SSH 服务在每次系统启动时自动启动,可以使用以下命令:
sudo systemctl enable sshd
你可以再次使用状态命令来确认 SSH 服务已经成功启动:
systemctl status sshd
三、配置 SSH 服务
SSH 服务的配置文件位于 `/etc/ssh/sshd_config`。在修改之前,建议先创建一个配置文件备份:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
使用文本编辑器打开该配置文件进行编辑:
sudo vi /etc/ssh/sshd_config
在配置文件中,你可以进行下列常用的配置:
更改默认端口:默认情况下,SSH 服务通过 22 端口运行。为了提高安全性,可以更改该端口,例如:
Port 2222
禁用 root 用户登录:为了增加安全性,建议禁用直接使用 root 用户登录。找到以下行并修改:
PermitRootLogin no
配置允许的用户:可以指定哪些用户允许通过 SSH 登录:
AllowUsers user1 user2
启用或禁用密码登录:可以通过修改以下选项来开启或关闭密码登录:
PasswordAuthentication yes
PasswordAuthentication no
完成必要的修改后,保存并退出编辑器。然后,使用以下命令重新启动 SSH 服务以应用更改:
sudo systemctl restart sshd
四、配置防火墙
如果系统中启用了防火墙(FirewallD),则需要允许 SSH 流量。可以通过以下命令开放默认端口 22 或所设置的新端口:
sudo firewall-cmd --permanent --add-service=ssh
或
sudo firewall-cmd --permanent --add-port=2222/tcp
随后,重载防火墙以应用更改:
sudo firewall-cmd --reload
五、测试 SSH 登录
在配置完成后,您可以从其他机器上测试 SSH 登录。使用以下命令进行尝试:
ssh user@hostname_or_ip
如果您更改了默认端口,可以指定端口:
ssh -p 2222 user@hostname_or_ip
如果可以成功登录,说明 SSH 服务已配置并正常工作。
通过上述步骤,您已经成功在 CentOS 系统中启动并配置了 SSH 服务。SSH 不仅使得远程管理更加安全和方便,还允许您进行各种管理操作。确保定期检查和更新 SSH 配置,以进一步提升系统安全性。
希望本指南对您配置和管理 CentOS 中的 SSH 服务有所帮助。如果您有任何问题或疑问,请随时咨询相关技术支持。