Files
nexus/wiki/sources/ubuntu-24-04-enable-ssh.md
2026-04-22 04:03:04 +08:00

58 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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 Servicessh.socket 代表的启动模式,节省资源
## Key Entities
- [[Ubuntu 24.04]]Canonical Ubuntu LTS 版本,默认引入 ssh.socket 激活机制
- [[OpenSSH Server]]Ubuntu SSH 服务端软件包,提供 sshd 守护进程
- [[UFW]]Uncomplicated FirewallUbuntu 默认防火墙管理工具
- [[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 未启用