> 网络管理 > ssh-server

SSH 服务器 (sshd): 远程连接管理

SSH 服务器是一种软件,它使用安全 Shell (SSH) 协议提供对远程系统的安全访问。它通常以名为 `sshd` (SSH Daemon) 的服务运行,并通过加密的通信通道实现远程命令执行、文件传输 (SCP/SFTP) 和端口转发等功能。这对于系统管理、开发和数据传输等各种远程操作至关重要。

概述

SSH 服务器接收并认证客户端的 SSH 连接请求,并建立安全的通信会话。这允许您远程执行命令或安全地传输文件。服务器的核心组件是 `sshd` 守护进程,该守护进程通常配置为在系统启动时自动启动。

主要功能

SSH 服务器提供的核心功能。

  • 远程 Shell 访问:通过加密终端连接到远程服务器并执行命令
  • 安全文件传输:使用 SCP (Secure Copy) 和 SFTP (SSH File Transfer Protocol) 上传/下载文件
  • 端口转发:通过隧道传输本地/远程端口,为不安全的应用程序提供安全访问
  • 基于密钥的身份验证:使用 SSH 密钥而不是密码进行更强的安全身份验证

主要选项 (sshd 命令)

直接运行 `sshd` 守护进程时使用的一些主要选项。通常,`sshd` 通过 `systemd` 等服务管理器运行,因此这些选项主要在调试或测试特定环境配置时有用。

运行和调试

生成的命令:

请尝试组合命令。

描述:

`ssh-server` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

安装

在大多数 Linux 发行版中,SSH 服务器通过 `openssh-server` 包提供。如果默认未安装,您可以使用以下命令进行安装。

Debian/Ubuntu 基于的系统

sudo apt update
sudo apt install openssh-server

使用 APT 包管理器安装 `openssh-server`。

CentOS/RHEL 基于的系统

sudo yum install openssh-server
# 或 Fedora/最新 RHEL:
sudo dnf install openssh-server

使用 YUM 或 DNF 包管理器安装 `openssh-server`。

使用示例

管理和配置 SSH 服务器的常见方法。

启动 SSH 服务

sudo systemctl start ssh

启动 SSH 守护进程 (`sshd`) 服务。

重启 SSH 服务

sudo systemctl restart ssh

重启 SSH 守护进程服务。通常在更改配置文件后应用更改时使用。

检查 SSH 服务状态

sudo systemctl status ssh

检查 SSH 守护进程服务的当前状态。

启用 SSH 服务自动启动

sudo systemctl enable ssh

配置 SSH 服务在系统启动时自动启动。

在防火墙中打开 SSH 端口 (UFW)

sudo ufw allow ssh
# 或使用特定端口:
sudo ufw allow 2222/tcp

如果使用 UFW (Uncomplicated Firewall),则允许 SSH 默认端口 (22)。

编辑 SSH 配置文件

sudo nano /etc/ssh/sshd_config

编辑 SSH 服务器的主要配置文件 `sshd_config`。更改后必须重启 SSH 服务。

提示与注意事项

关于安全高效运行 SSH 服务器的重要提示和注意事项。

安全加固提示

增强 SSH 服务器安全性的建议。

  • **更改默认端口**:将默认 SSH 端口 (22) 更改为其他不常用的端口(例如 2222),以减少随机攻击。 (修改 `/etc/ssh/sshd_config` 文件中的 `Port` 指令)
  • **使用基于密钥的身份验证而非密码**:生成 SSH 密钥对,提供比密码身份验证更强的安全性。 (`PasswordAuthentication no` 设置)
  • **禁用 root 登录**:禁止直接使用 `root` 账户 SSH 登录,而是允许普通用户登录后再使用 `sudo`。 (`PermitRootLogin no` 设置)
  • **使用 Fail2Ban**:安装 `Fail2Ban` 等工具,自动阻止重复登录失败的 IP 地址,以防御暴力破解攻击。
  • **限制允许的用户/组**:使用 `AllowUsers` 或 `AllowGroups` 指令明确指定允许 SSH 访问的用户或组。

file SSH 配置文件路径

/etc/ssh/sshd_config

SSH 服务器的主要配置文件位于以下路径。


相同类别命令