CentOS 8 上配置 OpenSSH 服务器

First Post:

Last Update:

第一步:安装 OpenSSH 服务器

在大多数 CentOS 8 最小化安装中,openssh-server 软件包通常已经默认安装。但是,为了确保一切就绪,您可以运行以下命令来安装或确认它已存在。

Bash

1
sudo dnf install openssh-server

系统会提示您输入管理员密码。如果软件包已经安装,它会告知您“无需任何处理”。

第二步:启动并启用 SSH 服务

安装完成后,您需要启动 sshd 服务(SSH 守护进程),并将其设置为开机自启,以确保服务器重启后 SSH 服务依然可用。

启动服务:

Bash

1
sudo systemctl start sshd

设置为开机自启:

Bash

1
sudo systemctl enable sshd

检查服务状态: 您可以随时使用以下命令检查 sshd 服务的运行状态,确保它处于 active (running) 状态。

Bash

1
sudo systemctl status sshd

第三步:配置防火墙

这是最关键的一步,也是新用户最容易遇到连接失败的地方。CentOS 8 默认使用 firewalld 作为防火墙。您必须明确允许 SSH 流量(默认使用 TCP 端口 22)通过防火墙。

1. 允许 SSH 服务 firewalld 已经预定义了 ssh 服务。您只需要将其添加到您的活动区域(通常是 public)的永久规则中。

Bash

1
sudo firewall-cmd --permanent --add-service=ssh

2. 重新加载防火墙 修改永久规则后,必须重新加载 firewalld 才能使更改生效。

Bash

1
sudo firewall-cmd --reload

3. 验证防火墙规则 您可以检查 public 区域当前允许的服务,确保 ssh 已经包含在列表中。

Bash

1
sudo firewall-cmd --list-services

您应该会在输出中看到 ssh 以及其他服务(例如 cockpit dhcpv6-client)。

第四步:获取服务器 IP 地址

要从其他设备连接,您需要知道 CentOS 8 服务器的 IP 地址。在服务器终端中运行以下命令:

Bash

1
ip addr show

在输出中查找您的主网络接口(例如 ens160eth0),并记下 inet 后面的 IP 地址(例如 192.168.1.100)。

第五步:从其他设备连接

现在您的服务器已经准备就绪。您可以使用任何 SSH 客户端从网络上的另一台设备(如 Windows、macOS 或另一台 Linux 机器)进行连接。

假设您的 CentOS 8 服务器 IP 地址是 192.168.1.100,并且您在服务器上有一个用户名为 myuser

在 macOS 或 Linux 客户端上: 打开终端并使用以下命令:

Bash

1
ssh myuser@192.168.1.100

在 Windows 10/11 客户端上: 您可以使用内置的 OpenSSH 客户端(在命令提示符或 PowerShell 中运行相同命令)或使用第三方客户端(如 PuTTY)。

Bash

1
ssh myuser@192.168.1.100

第一次连接时,客户端会显示服务器的 SSH 密钥指纹,并询问您是否信任此主机。输入 yes 并按回车键,然后输入 myuser 的密码即可登录。