手里一台Ubuntu Server窝在墙角,风扇嗡嗡转着,上面跑着网站、数据库、脚本,你人却不在机房,窝在沙发上抱着Windows 11笔记本,这时候想上去改个配置、重启个服务、看个日志,怎么办?这就是SSH的活儿。作为Windows 11用户,你其实有两个选择:用系统自带的命令提示符(CMD)直接敲命令,或者上MobaXterm这类图形化终端工具。两种路子我都长期用过,这篇就把完整的实操流程、背后的原理、以及我踩过的坑一次讲明白,适合刚接触Linux服务器的朋友,也适合想把手上的Windows 11变成真正的运维工作站的老手。
事情得从半年前说起,当时我装了台Ubuntu Server 22.04当家庭服务器用,一开始图省事,直接在机器上接显示器键鼠操作。但用了两周就受不了了,每次想改点东西都得跑到机器面前,Windows 11笔记本反而成了摆设。后来认真把SSH链路彻头彻尾配了一遍,这才算真正把服务器搬进了命令行里。下面这套流程就是我当时操作的全记录。
1. 为什么Windows 11用户要在乎SSH:先搞明白你要连的东西是什么
很多人第一次听到SSH这个名字,直觉以为是个像QQ远程协助一样的玩意,其实差别挺大。SSH全称Secure Shell,是一个网络协议,专门用来在不安全的网络环境里安全地访问远程机器。注意"不安全"三个字,这决定了它的设计思路——所有传输的数据都是加密的,包括你输入的用户名和密码,别人在中间抓包抓到的也只是一堆乱码。它默认跑在TCP的22号端口上,这是IANA分配的公认端口。
1.1 服务器端的服务与被连接的角色
Ubuntu Server默认不会自动开启SSH服务。你装的系统是个空壳子,SSH服务端(叫openssh-server)需要单独安装。这个服务端就像一个一直开着门等待访客的前台——它监听22端口,只要有客户端带着正确的凭据敲门,就放进来并给你一个shell交互环境。这个环境本质上就是你人在那台机器前面打开终端的效果,你在Windows的CMD里敲的命令,实际上是在Ubuntu上执行的。
1.2 客户端的选择决定了你的操作体验
客户端就是发起连接的那一端。Windows 11自带的OpenSSH客户端是命令行界面的,适合快速连接和脚本化操作,但你要管理文件、保存多个会话、看彩色日志的时候,它的短板就很明显了。MobaXterm则把终端、SFTP文件管理、端口转发、宏录制这些功能整合在一起,是Windows上少见的"瑞士军刀"型SSH工具。我个人的经验是:日常改配置用CMD够用,但真正长期管理服务器,MobaXterm的便利性能省下大量时间。
你不用把SSH想得太复杂,它解决的事情就是三个:认证你是谁、加密传输内容、执行你远程下达的命令。就这三件事,配好之后基本可以做到一劳永逸。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 开工前的准备工作:Ubuntu Server端的必要配置清单
磨刀不误砍柴工,Windows端再怎么折腾,服务器端的SSH服务没起来,一切白搭。这一节我把服务器端的准备工作列成一个清单,照着做就能把"被连接"这一侧的环境打理好。
2.1 安装并启动openssh-server
如果你在安装Ubuntu Server时没有勾选安装SSH服务(安装界面里有个"Install OpenSSH server"的选项,很容易漏掉),装完系统后得手动补上。登录服务器本地终端,执行:
bash复制sudo apt update
sudo apt install -y openssh-server
装完之后,用下面这几条命令确认服务已经爬起来并且开机自启:
bash复制sudo systemctl status ssh
sudo systemctl enable ssh
看到状态是active (running),同时显示enabled,就说明服务端已经待命了。注意新旧系统上这个服务名有的是ssh,有的是sshd,Ubuntu系一般用ssh,如果你用的是其他发行版,先systemctl list-units | grep ssh看一眼实际名字。
2.2 防火墙放行22端口
Ubuntu Server默认装了UFW防火墙,如果你之前启用过(sudo ufw enable),那就得显式放行SSH端口:
bash复制sudo ufw allow ssh
sudo ufw status
这里有个新手容易踩的坑:如果防火墙开着却没放行22端口,你的SSH连接请求会被直接丢弃,而且表现为"连接超时"而不是"拒绝连接"。我最早碰到这个问题排查了半天,最后用nc命令测试端口才发现压根没通。一个原则:装完SSH服务后,第一时间测试防火墙规则。
2.3 确认IP并获取连接目标
你需要在Windows端直接访问服务器的IP地址。在Ubuntu服务器上执行ip addr或者hostname -I,记下那串IP。如果你用的是DHCP动态分配,最好在路由器里给服务器绑定一个
