58 lines
3.2 KiB
Markdown
58 lines
3.2 KiB
Markdown
---
|
||
title: "Ubuntu 24.04 启动 SSH 服务"
|
||
type: source
|
||
tags: [ssh, ubuntu, systemd, firewall]
|
||
date: 2026-04-14
|
||
---
|
||
|
||
## Source File
|
||
- [[raw/Home Office/Ubuntu 24.04 enable SSH.md]]
|
||
|
||
## Summary (用中文描述)
|
||
- 核心主题:Ubuntu 24.04 中 SSH 服务的安装、启动与配置
|
||
- 问题域:Linux 服务器远程访问与网络安全
|
||
- 方法/机制:
|
||
- 安装 OpenSSH Server 软件包
|
||
- 使用 systemctl 管理 SSH 服务(含开机自启)
|
||
- 配置 UFW 防火墙放行 SSH(端口 22)
|
||
- **Ubuntu 24.04 关键变化:默认使用 ssh.socket 激活机制**,即按需启动(连接请求来时才启动 sshd 守护进程)
|
||
- 可通过 systemctl edit ssh.socket 修改监听端口
|
||
- 可切换回传统 ssh.service 持续运行模式
|
||
- 结论/价值:Ubuntu 24.04 SSH 入门完整操作指南,含传统模式切换方案
|
||
|
||
## Key Claims (用中文描述)
|
||
- Ubuntu 24.04 默认使用 **ssh.socket 激活机制**,服务状态 `inactive` 不代表 SSH 不可用,需检查 `ssh.socket` 监听状态
|
||
- 修改自定义端口(例 2222)推荐通过 `systemctl edit ssh.socket` 而非仅修改 `/etc/ssh/sshd_config`
|
||
- 若需 SSH 持续后台运行,可执行 `systemctl disable --now ssh.socket` + `systemctl enable --now ssh.service`
|
||
|
||
## Key Quotes
|
||
> "在 Ubuntu 24.04 中,你可以使用以下命令来确保服务处于活动状态并随系统启动:sudo systemctl start ssh; sudo systemctl enable ssh" — 标准启动与自启命令
|
||
|
||
> "如果你发现 systemctl status ssh 显示服务未运行,别担心。24.04 默认使用 Socket 激活模式。你可以通过 sudo systemctl status ssh.socket 检查监听状态" — Ubuntu 24.04 行为的关键说明
|
||
|
||
## Key Concepts
|
||
- [[Socket Activation]]:systemd 机制,服务按需启动(ssh.socket 监听端口,有连接时才启动 ssh.service)
|
||
- [[UFW 防火墙]]:Ubuntu 默认防火墙,通过 `ufw allow ssh` 放行 SSH 流量
|
||
- [[开机自启]]:systemd enable 命令将服务注册为开机启动
|
||
- [[远程访问]]:通过 SSH 协议从另一台设备连接服务器
|
||
- [[按需服务]](On-Demand Service):ssh.socket 代表的启动模式,节省资源
|
||
|
||
## Key Entities
|
||
- [[Ubuntu 24.04]]:Canonical Ubuntu LTS 版本,默认引入 ssh.socket 激活机制
|
||
- [[OpenSSH Server]]:Ubuntu SSH 服务端软件包,提供 sshd 守护进程
|
||
- [[UFW]](Uncomplicated Firewall):Ubuntu 默认防火墙管理工具
|
||
- [[ssh.socket]]:systemd 的 socket 单元,负责监听 22 端口并按需触发 ssh.service
|
||
- [[ssh.service]]:systemd 的 service 单元,实际运行 sshd 守护进程
|
||
|
||
## Connections
|
||
- [[UFW 防火墙]] ← enables ← [[Ubuntu 24.04 启动 SSH 服务]]
|
||
- [[OpenSSH Server]] ← installed_by ← [[Ubuntu 24.04 启动 SSH 服务]]
|
||
- [[Socket Activation]] ← is_activated_by ← [[ssh.socket]]
|
||
- [[ssh.service]] ← substitutes ← [[ssh.socket]](传统模式切换)
|
||
|
||
## Contradictions
|
||
- 与旧版 Ubuntu SSH 行为冲突:
|
||
- 冲突点:旧版 `systemctl status ssh` 显示 `active (running)` 才代表正常;24.04 中服务可能显示 `inactive` 但 SSH 仍可正常工作
|
||
- 当前观点:Socket 激活是 Ubuntu 24.04 默认行为,不代表故障
|
||
- 对方观点:服务未 running 即认为 SSH 未启用
|