Xshell 远程连接 Ubuntu 虚拟机
一、什么是 SSH 连接协议
定义
SSH(Secure Shell,安全外壳协议)是一套加密的远程登录协议,默认使用 22 端口,用于在本地电脑远程操控 Linux 服务器 / 虚拟机。
核心优势
全程加密传输账号、密码、操作数据,相比老旧 Telnet 明文传输,不会被抓包窃取信息;
支持两种登录方式:密码登录、密钥免密登录;
拓展功能:配套 SFTP 协议,可实现本地与远程机器文件互传(Xftp 就是基于 SFTP)。
工作逻辑
本地 Xshell(客户端) ↔ 网络 ↔ 虚拟机 openssh-server(服务端),两端握手加密后建立交互通道。
二、Xshell 连接 VMware Ubuntu 虚拟机完整步骤
前置:虚拟机内基础环境配置
1.打开 Ubuntu 终端,更新软件源并运行
2.安装网络工具,查看虚拟机 IP
记录ens33网卡后的inet地址(例:192.168.127.128)
- 安装 SSH 服务端(远程连接核心)
4.启动 SSH 并放行防火墙 22 端口
5.查看 SSH 运行状态,确认active(running)
Windows 端 Xshell 操作步骤
打开 Xshell 8,点击左上角【新建】会话;
会话基础设置:
名称:自定义(如 Ubuntu 虚拟机)
协议:SSH
主机:填写ifconfig查到的虚拟机 IP
端口:固定 22
切换至【用户身份验证】选项卡:
登录方式:Password(密码)
用户名:虚拟机终端whoami查询到的账号(区分大小写)
密码:Ubuntu 开机登录密码
点击【确定】→【连接】,弹出主机密钥弹窗选择接受,即可登录成功。
关键前提
VMware 虚拟机网络适配器设置为NAT 模式,虚拟机保持开机运行。
(Xshell下载成功截图)
(连接操作成功截图)
三、实操常见报错、原因与解决方案
报错 1:Could not connect to xxx (port 22): Connection failed
现象:完全无法建立 TCP 连接
原因:
虚拟机未开机 / 挂起休眠;
IP 地址填写错误,或虚拟机重启后 IP 变更;
虚拟机未安装、未启动 openssh-server;
VMware 网卡不是 NAT 模式,主机与虚拟机网段不通;
Windows / 虚拟机防火墙拦截 22 端口。
解决:
启动虚拟机,终端执行ifconfig核对 IP;
完整执行安装 SSH 全套命令;
VMware 虚拟网络编辑器切换 NAT,重启虚拟机;
Windows CMD 执行ping 虚拟机IP,能通代表网络正常。
报错 2:Connection closed by foreign host(连接建立后立刻被远程主机断开)
现象:能连通 22 端口,但登录瞬间被服务器主动断开
原因:
SSH 配置禁止密码登录;
输入的用户名 / 密码错误;
短时间多次输错账号,SSH 临时拉黑客户端。
解决:
虚拟机终端修改 SSH 配置,开启密码登录:
终端输入whoami复制正确用户名,区分大小写;
关闭 Xshell 全部窗口,等待 1 分钟后重新连接。
报错 3**:用户名 / 密码验证失败**
原因:用户名大小写错误、密码输错、账号不存在;
解决:
虚拟机输入ls /home,文件夹名称即为正确用户名;
重新新建 Xshell 会话,清空旧保存的错误账号密码。
(未连接虚拟机,虚拟机未开机错误)
四、如何使用Xftp传输图片(发布文章时插入)
Ubuntu 终端安装 net-tools、ifconfig 查询 IP 截图;
安装 openssh-server、查看 ssh 服务状态截图;
Xshell 新建会话配置页面截图;
连接报错日志截图(本次实操出现的两种报错);
连接成功后 Xshell 操作终端截图;
Xftp 文件传输界面截图。
五、Xftp 文件传输使用教程
Xftp 和 Xshell 为同一家工具,安装免费家庭版后直接打开;
新建 SFTP 会话,参数和 Xshell 完全一致:
协议:SFTP
主机:虚拟机 IP
端口:22
用户名、密码同 Ubuntu 登录账号;
连接成功后,窗口分为两栏:
左侧:Windows 本地电脑文件目录
右侧:Ubuntu 虚拟机远程目录
传输操作:
本地传虚拟机:左侧选中文件,拖拽至右侧文件夹;
虚拟机下载到本地:右侧文件拖拽至左侧本地文件夹;
优势:支持批量文件、文件夹拖拽传输,断点续传,可视化管理。