- 更新系统包列表 (良好习惯)
- 安装 OpenSSH 服务器
- 启动并设置开机自启
- 配置防火墙 (如果正在使用)
- 从另一台电脑连接测试
详细步骤
第 1 步:更新系统包列表 (推荐)
在安装任何新软件之前,首先更新一下系统的软件包列表,以确保你安装的是最新版本。

sudo apt update
第 2 步:安装 OpenSSH 服务器
Ubuntu 默认可能没有安装 SSH 服务器,我们需要手动安装它,在 Ubuntu 中,最常用的 SSH 服务器实现是 OpenSSH。
sudo apt install openssh-server
在安装过程中,系统会提示你确认并继续,按 Y 然后回车即可。
安装完成后,SSH 服务通常会自动启动,你可以通过以下命令检查其状态:
sudo systemctl status ssh
如果看到绿色的 active (running) 字样,说明 SSH 服务器正在正常运行。

第 3 步:启动并设置开机自启
如果服务没有自动启动,或者你想确保它每次开机都自动运行,可以使用以下命令。
启动 SSH 服务:
sudo systemctl start ssh
设置 SSH 服务开机自启:
sudo systemctl enable ssh
重启 SSH 服务 (在修改了配置文件后常用):

sudo systemctl restart ssh
停止 SSH 服务:
sudo systemctl stop ssh
第 4 步:配置防火墙 (非常重要)
如果你的 Ubuntu 服务器启用了 ufw (Uncomplicated Firewall) 防火墙,你需要开放 SSH 端口(默认是 22),否则外部连接会被拒绝。
检查 UFW 状态:
sudo ufw status
如果返回 Status: active,说明防火墙已启用。
允许 SSH 连接:
sudo ufw allow ssh
或者你也可以直接指定端口号:
sudo ufw allow 22/tcp
重新加载防火墙以应用更改:
sudo ufw reload
启用防火墙 (如果尚未启用):
sudo ufw enable
注意:启用防火墙时,它会询问你是否继续,因为规则可能会阻止你的当前连接,如果你是通过 SSH 连接的,直接按
y回车是安全的,因为我们刚刚已经允许了 SSH 端口。
第 5 步:从另一台电脑连接测试
你的 Ubuntu 服务器已经准备就绪,你可以从任何另一台电脑(可以是 Windows, macOS, 或另一台 Linux)进行连接。
你需要知道你 Ubuntu 服务器的 IP 地址。
获取 Ubuntu 服务器的 IP 地址: 在你的 Ubuntu 服务器终端中运行:
ip addr show
或者更简单的命令:
hostname -I
你会看到一个或多个 IP 地址,通常是 168.x.x (局域网) 或 xxx.xxx.xxx.xxx (公网 IP)。
从客户端进行连接:
-
在 Linux 或 macOS 上: 打开终端,使用
ssh命令。ssh your_username@your_server_ip
将
your_username替换为你的 Ubuntu 用户名(ubuntu,admin等),将your_server_ip替换为上一步查到的 IP 地址。 -
在 Windows 上:
- Windows 10/11: 现代版 Windows 10 和 11 内置了 OpenSSH 客户端,直接在“开始”菜单搜索
PowerShell或CMD,然后输入同样的ssh命令。 - 使用 PuTTY: 如果你使用的是旧版 Windows,可以下载免费的 PuTTY 客户端,打开 PuTTY,输入你的服务器 IP 地址,端口保持
22,然后点击 "Open"。
- Windows 10/11: 现代版 Windows 10 和 11 内置了 OpenSSH 客户端,直接在“开始”菜单搜索
首次连接时,你会看到一条关于主机密钥未知的警告,这是正常的,输入 yes 并回车,然后输入你 Ubuntu 用户的密码即可登录。
安全配置建议 (可选但推荐)
默认的 SSH 配置已经足够安全,但你可以通过编辑配置文件来进一步增强安全性。
编辑 SSH 配置文件:
sudo nano /etc/ssh/sshd_config
提示:使用
nano是因为它对新手比较友好,你也可以使用vim。
以下是一些常见的安全加固项:
-
更改默认端口 (降低自动化攻击风险) 找到
#Port 22这一行,取消注释并修改为一个不常用的端口号(2222)。Port 2222注意:修改后,连接时也需要指定新端口,
ssh -p 2222 user@ip,确保你的防火墙也放行了新端口 (sudo ufw allow 2222/tcp)。 -
禁用 root 用户直接登录 找到
PermitRootLogin这一行,确保其值为no。PermitRootLogin no这意味着你必须先以普通用户身份登录,然后使用
sudo提升权限,这更安全。 -
使用密钥认证而非密码 这是目前最安全的认证方式,你可以生成一对公钥和私钥,将公钥上传到服务器,登录时用私钥进行“签名”验证,无需输入密码。
编辑完成后,保存文件 (在 nano 中是 Ctrl+X,然后按 Y,再回车),并重启 SSH 服务使配置生效:
sudo systemctl restart ssh
常见问题排查
-
连接超时或被拒绝?
- 检查 SSH 服务是否正在运行:
sudo systemctl status ssh。 - 检查防火墙设置:
sudo ufw status,确保允许了 SSH 端口。 - 检查服务器 IP 地址是否正确。
- 如果你在云服务器(如阿里云、腾讯云、AWS)上,请检查其安全组 (Security Group) 设置,是否放行了入站的 SSH 端口。
- 检查 SSH 服务是否正在运行:
-
提示 "Permission denied (publickey,password)"?
- 如果你禁用了密码登录,但客户端没有提供有效的私钥,就会出现这个错误,确保你使用了密钥认证,或者检查
sshd_config中的PasswordAuthentication是否为yes。 - 确保你输入的用户名和密码正确。
- 如果你禁用了密码登录,但客户端没有提供有效的私钥,就会出现这个错误,确保你使用了密钥认证,或者检查
-
忘记了 SSH 端口? 可以在
/etc/ssh/sshd_config文件中查看Port指令的值。
希望这份详细的指南能帮助你成功开启 Ubuntu 的 SSH 服务器!
