在 Windows 上安装 WSL 并配置 SSH 服务,让 FinalShell 连接 Ubuntu
一、安装 WSL(Windows Subsystem for Linux)
- 打开 Windows PowerShell(管理员模式)执行:
wsl --install
默认会安装最新的 Ubuntu 发行版。如果已经安装,可以用
wsl -l -v
查看已安装版本。
- 启动 WSL:
wsl
进入 Ubuntu 命令行界面。
- 查看当前用户名:
whoami
设置或重设密码:
passwd
二、安装并启动 SSH 服务
在 WSL 里执行以下步骤:
- 更新软件包并安装 SSH 服务:
sudo apt update
sudo apt install openssh-server -y
- 检查 SSH 服务状态:
sudo service ssh status
如果输出显示 running
,说明 SSH 服务已经启动。
- 启动 SSH 服务(如果没运行):
sudo service ssh start
- 确认 SSH 端口监听:
netstat -tlnp | grep 22
你应该看到类似:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1023/sshd
表示 SSH 正在监听 22 端口。
三、配置 SSH 支持密码登录
编辑 SSH 配置文件:
sudo nano /etc/ssh/sshd_config
确认以下内容(去掉行首 #
):
Port 22
PasswordAuthentication yes
PermitRootLogin yes
保存并重启 SSH 服务:
sudo service ssh restart
四、让 SSH 服务在 WSL 启动时自动运行
WSL2 不支持 systemd,因此不能用 systemctl enable ssh
。推荐两种方法:
方法 1:通过 /etc/wsl.conf
配置开机启动
- 编辑 WSL 配置文件:
sudo nano /etc/wsl.conf
- 添加内容:
[boot]
command="service ssh start"
- 保存并退出,重启 WSL:
wsl --shutdown
wsl
每次 WSL 启动时,SSH 服务都会自动运行。
方法 2:通过 Windows 任务计划程序启动(可选)
- 打开任务计划程序,新建任务
- 触发器选择“开机”
- 动作选择“启动程序”,填写:
wsl -d Ubuntu sudo service ssh start
五、用 FinalShell 连接 WSL
-
打开 FinalShell → 新建连接
-
配置连接信息:
- 协议:SSH
- 主机:
127.0.0.1
(推荐使用 localhost,WSL2 虚拟网卡 IP 不稳定) - 端口:22
- 用户名:WSL 的用户名(例如
warren
) - 密码:WSL 用户密码
-
点击“连接”,即可进入 Ubuntu 终端界面,像在本地 Linux 一样操作。
六、常见问题
-
连接不上:
- 确认 SSH 服务已经运行
sudo service ssh status
- 用
127.0.0.1:22
连接,避免使用 WSL 虚拟 IP - 确认用户名和密码正确
- 确认 SSH 服务已经运行
-
WSL 提示 localhost 代理警告:
wsl: 检测到 localhost 代理配置,但未镜像到 WSL
可以忽略,不影响 SSH 连接。
-
SSH 服务每次重启 WSL 都要启动?
- 推荐用
/etc/wsl.conf
的 boot.command 自动启动 - 不推荐在
.bashrc
每次启动终端都启动,因为会重复执行
- 推荐用