概述
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 服务器的主要配置文件位于以下路径。