> 网络管理 > sshd

sshd: OpenSSH 服务器守护进程

sshd 是 OpenSSH 服务器守护进程,为远程系统提供安全的加密通信。它接收 SSH 客户端的连接请求,负责用户认证和会话管理,从而实现远程登录、文件传输(SCP、SFTP)、端口转发等功能。

概述

sshd 在后台运行,默认通过 TCP 端口 22 监听 SSH 客户端的连接。所有通信都经过加密以确保安全,并支持多种认证方式(密码、公钥等)。

主要功能

  • 提供安全的远程 Shell 访问
  • 支持 SCP/SFTP 文件传输
  • 端口转发和隧道功能
  • 支持多种认证机制(密码、公钥)

主要配置文件

sshd 的行为主要通过以下配置文件进行控制。

  • 路径: /etc/ssh/sshd_config

主要选项

sshd 通常作为系统服务运行,因此很少直接使用命令行选项,但有一些选项可用于调试或测试目的。

运行与调试

生成的命令:

请尝试组合命令。

描述:

`sshd` 执行命令。

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

使用示例

sshd 通常通过 systemd 等服务管理器进行控制。

检查 sshd 服务状态

sudo systemctl status sshd

检查 sshd 服务的当前状态。

重启 sshd 服务

sudo systemctl restart sshd

在更改配置后重启 sshd 服务以应用更改。

启用 sshd 服务(开机自启)

sudo systemctl enable sshd

设置 sshd 服务在系统启动时自动启动。

验证 sshd 配置文件

sudo sshd -t

检查 sshd_config 文件是否存在语法错误。

以调试模式运行 sshd(用于测试)

sudo sshd -d -p 2222

以调试模式在非默认端口(例如 2222)上运行 sshd。在不影响实际服务的情况下进行测试非常有用。

安装

sshd 是 OpenSSH 服务器软件包的一部分。它通常默认安装在大多数 Linux 发行版上,如果没有,可以使用以下命令进行安装。

Debian/Ubuntu 系统

sudo apt update
sudo apt install openssh-server

CentOS/RHEL/Fedora 系统

sudo yum install openssh-server  # 或 sudo dnf install openssh-server

提示与注意事项

sshd 在系统安全中扮演着至关重要的角色,因此在配置时建议考虑以下几点。

安全加固提示

  • **更改默认端口**:将 `Port 22` 更改为其他任意高端口号,以减少暴力破解攻击。
  • **禁用 root 登录**:设置为 `PermitRootLogin no`,禁止 root 用户直接登录。
  • **禁用密码认证并使用公钥认证**:设置为 `PasswordAuthentication no`,并启用公钥认证 (`PubkeyAuthentication yes`) 以增强安全性。
  • **限制允许的用户**:使用 `AllowUsers` 或 `AllowGroups` 选项明确指定允许 SSH 访问的用户或组。
  • **配置防火墙**:配置防火墙(如 ufw, firewalld 等),仅允许从外部访问 SSH 端口(默认 22 或更改后的端口)。

修改配置后重启服务

修改 `sshd_config` 文件后,必须使用 `sudo systemctl restart sshd` 命令重启服务才能使更改生效。

连接测试

修改配置后,务必在另一个终端尝试 SSH 连接,以验证更改是否正确应用。建议在保持现有会话的情况下进行测试。


相同类别命令