CentOS 8 上配置 OpenSSH 服务器
Last Update:
第一步:安装 OpenSSH 服务器
在大多数 CentOS 8 最小化安装中,openssh-server 软件包通常已经默认安装。但是,为了确保一切就绪,您可以运行以下命令来安装或确认它已存在。
Bash
1 | |
系统会提示您输入管理员密码。如果软件包已经安装,它会告知您“无需任何处理”。
第二步:启动并启用 SSH 服务
安装完成后,您需要启动 sshd 服务(SSH 守护进程),并将其设置为开机自启,以确保服务器重启后 SSH 服务依然可用。
启动服务:
Bash
1 | |
设置为开机自启:
Bash
1 | |
检查服务状态: 您可以随时使用以下命令检查 sshd 服务的运行状态,确保它处于 active (running) 状态。
Bash
1 | |
第三步:配置防火墙
这是最关键的一步,也是新用户最容易遇到连接失败的地方。CentOS 8 默认使用 firewalld 作为防火墙。您必须明确允许 SSH 流量(默认使用 TCP 端口 22)通过防火墙。
1. 允许 SSH 服务 firewalld 已经预定义了 ssh 服务。您只需要将其添加到您的活动区域(通常是 public)的永久规则中。
Bash
1 | |
2. 重新加载防火墙 修改永久规则后,必须重新加载 firewalld 才能使更改生效。
Bash
1 | |
3. 验证防火墙规则 您可以检查 public 区域当前允许的服务,确保 ssh 已经包含在列表中。
Bash
1 | |
您应该会在输出中看到 ssh 以及其他服务(例如 cockpit dhcpv6-client)。
第四步:获取服务器 IP 地址
要从其他设备连接,您需要知道 CentOS 8 服务器的 IP 地址。在服务器终端中运行以下命令:
Bash
1 | |
在输出中查找您的主网络接口(例如 ens160 或 eth0),并记下 inet 后面的 IP 地址(例如 192.168.1.100)。
第五步:从其他设备连接
现在您的服务器已经准备就绪。您可以使用任何 SSH 客户端从网络上的另一台设备(如 Windows、macOS 或另一台 Linux 机器)进行连接。
假设您的 CentOS 8 服务器 IP 地址是 192.168.1.100,并且您在服务器上有一个用户名为 myuser。
在 macOS 或 Linux 客户端上: 打开终端并使用以下命令:
Bash
1 | |
在 Windows 10/11 客户端上: 您可以使用内置的 OpenSSH 客户端(在命令提示符或 PowerShell 中运行相同命令)或使用第三方客户端(如 PuTTY)。
Bash
1 | |
第一次连接时,客户端会显示服务器的 SSH 密钥指纹,并询问您是否信任此主机。输入 yes 并按回车键,然后输入 myuser 的密码即可登录。