想要远程安全地管理你的Ubuntu 24.04服务器或桌面吗?安装SSH服务器是关键的第一步。SSH(安全外壳协议)是目前通过不安全网络连接远程系统最安全、最可靠的方式之一,它不仅提供强大的身份验证机制,还会全程加密所有通信数据。
好消息是,在Ubuntu 24.04上安装和配置SSH服务端非常简单,因为所有必需的软件包都已包含在默认的系统仓库中。本指南将手把手带你完成从安装、启用到基础安全配置的全过程。
前期准备与系统更新
在开始之前,你需要一个运行Ubuntu 24.04的系统,并拥有一个具备sudo权限的用户账户。首先,我们打开终端(快捷键 Ctrl+Alt+T),并更新系统的软件包列表,同时升级所有可更新的软件包以获取最新的安全补丁。
sudo apt update && sudo apt upgrade
系统会提示你确认,输入 Y 并回车继续。
安装 OpenSSH 服务器
更新完成后,就可以安装 OpenSSH 服务器软件包了。运行以下命令:
sudo apt install openssh-server

安装过程中,系统会提示你确认磁盘空间的使用,按 Y 然后回车即可。这里有个小知识:通常SSH客户端(openssh-client)在安装Ubuntu系统时已经默认存在了,所以我们只需要安装服务器端(openssh-server)即可提供SSH服务。
启用并启动 SSH 服务
安装完成后,我们需要立即启动SSH服务,并设置其在系统开机时自动启动,这样才能保证随时可以被连接。
sudo systemctl enable --now ssh

如何确认服务已经成功运行了呢?使用systemctl命令检查其状态是最直接的方式。对于这类系统服务的状态监控和管理,是运维/DevOps/SRE工作中的日常基础操作。
sudo systemctl status ssh

如果看到 Active: active (running) 的字样,就说明你的SSH服务端已经在后台正常运行了。
配置防火墙(UFW)允许SSH连接
Ubuntu 默认使用 UFW(简单防火墙)来管理网络流量。虽然在新安装的系统中,SSH端口(22)通常已被允许,但为了确保万无一失,我们最好显式地添加一条规则。
sudo ufw allow ssh
这条命令等同于 sudo ufw allow 22。添加规则后,你可以查看防火墙状态来确认规则是否生效:
sudo ufw status
输出中应该能看到“22/tcp ALLOW Anywhere”这条规则。正确配置防火墙规则是保障服务器网络安全的第一道屏障。
测试 SSH 连接
现在,你的Ubuntu SSH服务器已经准备就绪。你可以从同一网络内的另一台计算机(比如你的Mac、Windows或另一台Linux机器)进行连接测试。连接命令的基本语法如下:
ssh 你的用户名@你的服务器IP地址
例如,如果你的Ubuntu用户名叫 sean,服务器内网IP是 192.168.1.180,命令就是:
ssh sean@192.168.1.180

如果是第一次连接这台服务器,你会看到关于主机密钥的验证提示,输入 yes 继续。然后输入相应用户的密码,即可成功登录。看到远程终端提示符,就证明连接成功了!
基础安全配置(可选但推荐)
默认配置虽可用,但从安全角度考虑,进行一些调整是很有必要的。SSH服务的主要配置文件是 /etc/ssh/sshd_config,我们可以用 nano 编辑器打开它:
sudo nano /etc/ssh/sshd_config

在文件中,你可以找到并修改以下几项关键配置(注意,需要取消行首的 # 注释符号才能生效):
- Port: 可以将默认的
22 端口改为一个大于1024的随机端口(例如 2222),这能有效减少自动化扫描攻击。修改后,连接时需要指定端口:ssh -p 2222 user@host。
- PermitRootLogin: 建议设置为
no,禁止直接用root账户登录,降低被暴力破解的风险。
- PasswordAuthentication: 如果你后续设置了SSH密钥登录(更安全),可以将其设为
no 来禁用密码登录,彻底杜绝密码猜测攻击。
修改完成后,按 Ctrl+X,然后输入 Y 确认保存,最后按回车退出编辑器。
重启SSH服务使配置生效
对 sshd_config 文件所做的任何更改,都必须重启SSH服务才能生效。
sudo systemctl restart ssh
重启后,建议再次检查服务状态,确保重启过程没有出错。
后续维护与更新
OpenSSH软件包会随着系统的常规更新而更新。保持系统更新是获取安全补丁的好习惯:
sudo apt update && sudo apt upgrade
进阶:设置SSH密钥认证(更安全)
使用SSH密钥对进行认证,比单纯使用密码安全得多,也方便得多。
- 在本地机器生成密钥对(如果还没有的话):
ssh-keygen -t rsa -b 4096
按回车接受默认存储位置(~/.ssh/id_rsa),并设置一个安全的密钥密码(可直接回车留空,但不推荐)。
- 将公钥上传到Ubuntu服务器:
ssh-copy-id 你的用户名@你的服务器IP地址
输入一次用户密码,即可完成上传。
- 测试无密码登录:
ssh 你的用户名@你的服务器IP地址
如果配置正确,你将无需输入用户密码即可直接登录。
如何卸载SSH
如果你不再需要SSH服务,可以将其卸载。
遵循以上步骤,你应该已经成功在Ubuntu 24.04 LTS上搭建并配置好了SSH服务器,实现了安全的远程访问。这些操作涵盖了从安装到基础加固的核心流程,是每位Linux用户和管理员都应掌握的基本技能。如果在实践中遇到了其他问题,欢迎在云栈社区的相关板块与大家一起探讨交流。