Ubuntu 22.04 LTS SSH 服务深度部署与安全加固实战手册
对于每一位在Ubuntu 22.04 LTS上构建自己开发环境或管理服务器的朋友来说,SSH(Secure Shell)无疑是那扇通往工作台的“任意门”。它不仅仅是远程登录的工具,更是系统管理、文件传输、端口转发的基石。然而,一个默认配置的SSH服务,就像一扇没有上锁的门,虽然方便,却也潜藏着风险。本文旨在超越简单的“安装-连接”步骤,为你呈现一份从零开始,贯穿部署、深度配置、安全加固到故障排查的完整实战指南。无论你是刚接触Ubuntu的新手开发者,还是希望优化现有服务器安全性的运维人员,这里的内容都将提供清晰、可操作且富有深度的指引。
1. 环境准备与SSH服务安装
在开始任何操作之前,确保你的Ubuntu 22.04 LTS系统已经更新到最新的软件包列表。这是一个好习惯,能避免因版本过旧导致的依赖问题。
打开终端(快捷键 Ctrl+Alt+T),让我们先进行一次全面的系统更新:
sudo apt update && sudo apt upgrade -y
这个命令做了两件事:apt update 刷新了本地软件包索引,确保我们获取到的是软件源中最新的版本信息;apt upgrade -y 则自动升级所有可升级的软件包。-y 参数用于自动确认,在脚本中很常用,但在交互式环境中,你也可以不加,以便查看将要升级的包。
接下来,安装SSH服务器软件包。在Ubuntu的世界里,OpenSSH是事实上的标准。
sudo apt install openssh-server -y
安装过程通常很快。完成后,OpenSSH服务(名为 ssh)默认会自动启动并设置为开机自启。我们可以通过 systemctl 命令来验证:
sudo systemctl status ssh
你会看到类似下面的输出,其中 active (running) 和 enabled 是关键信息:
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2023-10-10 09:00:00 UTC; 1min ago
Docs: man:sshd(8)
Main PID: 1234 (sshd)
Tasks: 1 (limit: 18983)
Memory: 5.6M
CPU: 78ms
CGroup: /system.slice/ssh.service
└─1234 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
注意:如果状态显示为
inactive (dead),可以使用sudo systemctl start ssh启动它,并使用sudo systemctl enable ssh设置开机自启。
至此,最基本的SSH服务已经就绪。但我们的旅程才刚刚开始。
2. 基础连接与防火墙配置
安装完成后,第一件事就是测试连接。你需要知道服务器的IP地址。在服务器终端中,运行:
ip a
或者使用更简洁的:
hostname -I
从输出中找到你的主网卡(通常是 eth0 或 ens33)对应的 inet 地址,这就是你的服务器IP。
现在,从你的客户端机器(可以是另一台Linux、macOS,或者安装了OpenSSH客户端的Windows)尝试连接:
ssh your_username@your_server_ip
例如:ssh alice@192.168.1.100
如果是首次连接,你会看到关于主机密钥指纹的警告。这是SSH安全机制的一部分,用于防止中间人攻击。确认指纹无误(对于个人或可信环境)后,输入 yes 继续。然后输入服务器上对应用户的密码,即可登录


8054

被折叠的 条评论
为什么被折叠?



