xshell怎么传输文件 常用传输方式
Xshell6是一个强大的安全终端模拟软件。 Xshell6支持SSH1,SSH2和TELNET 协议。用户可以通过家里的网络连接远程主机,方便用户在家处理突发事情,可以让用户轻松管理远程主机。 Xshell6还可以上传下载文件,非常方便。
详解 Xshell 文件传输的三种主流方法:ZMODEM 快速收发、内置 SFTP 命令行管理及 Xftp 图形化拖放。包含 rz/sz 命令检查、SFTP put/get 操作及 SHA256 完整性校验步骤,适用于 Windows 连接 Linux 服务器场景。
把 Windows 上的 demo.zip 传到服务器,再把同一份文件下载回来,可以用 Xshell 的 ZMODEM、内置 SFTP,或者联动 Xftp。临时收发一个文件时,ZMODEM 操作直接;需要反复切换目录、管理多份文件时,SFTP 或 Xftp 更方便。下面以 Windows 版 Xshell 8 为主线,用同一份压缩包完成上传、下载和内容核对。

Xshell 终端与 Windows 资源管理器并排,展示本地文件准备与远程目录创建状态
1. 先固定本地文件和远程目录
在 Windows 资源管理器中准备 C:\Transfer\demo.zip,并新建空文件夹 C:\Transfer\back,用来接收下载副本。确认压缩包能够正常打开,不要选中需要立即替换的生产配置文件做第一次练习。
用 Xshell 登录已获授权的 Linux 服务器。下面假设用户名为 reader、主目录为 /home/reader;操作时按实际账号和目录替换。在远程终端执行:
mkdir -p "$HOME/xshell-transfer-demo"
cd "$HOME/xshell-transfer-demo"
pwd
ls -l
记下 pwd 显示的实际完整路径,后面的传输目标以它为准。先检查目录里有没有同名 demo.zip;有的话换一个空的练习目录,避免覆盖已有文件。不能把本机 C 盘路径填进 Linux 的 cd 命令,也不能认为终端当前目录就是 Windows 下载位置。
下面三种方式任选一种完成一轮即可,不必连续重复上传同名文件。目录没有写入权限时,先改用自己可写的工作目录,不直接把系统目录改成所有人可写。
2. 用 ZMODEM 把压缩包上传到当前目录
在远程终端执行以下检查:
command -v rz
command -v sz
它们用于判断远端是否已有 ZMODEM 接收和发送程序。如果没有对应命令,可请管理员按服务器发行版安装相应工具,或直接使用后面的 SFTP 路径;不能因为本机装了 Xshell,就认为服务器一定有 rz、sz。
保持远程终端处于刚才的练习目录,执行:
rz -b
本例使用 Linux lrzsz 的 rz,-b 表示按二进制接收。Xshell 若已启用自动激活 ZMODEM,通常会出现本地文件选择窗口;若没有自动弹出,在 Xshell 中进入【文件】→【传输】→【使用 ZMODEM 发送】,英文为 Send with ZMODEM。

Xshell 【文件】菜单下的 ZMODEM 发送选项及文件选择窗口
选中 C:\Transfer\demo.zip,点击【打开】并等待传输结束。压缩包不要使用【以 ASCII 方式发送】;也不要把这项功能理解成将文件内容粘贴进终端。
传输完成、远程命令提示符恢复后,执行:
ls -l -- demo.zip
应能在当前目录中找到该文件。进度窗口消失并不等于文件位于预想目录,核对文件位置和名称后再继续。
Xshell 也支持拖放上传,但实际协议受文件传输设置影响。首次操作按明确的 ZMODEM 菜单完成,更容易看清发送方向;确认当前配置后再使用拖放,不必先输入一次 rz、又重复发起另一份上传。
3. 用 sz 下载同一份文件
先在 Xshell 中打开当前会话的【属性】→【文件传输】,在接收文件夹设置中指定 C:\Transfer\back,或选择每次接收时询问保存位置。这个位置控制本地接收文件,不能用来指定上传到服务器的目录。
回到远程练习目录,执行:
sz -b demo.zip
启用自动激活时,Xshell 会开始接收;若没有开始,进入【文件】→【传输】→【使用 ZMODEM 接收】,英文为 Receive with ZMODEM。出现位置选择窗口时,选 C:\Transfer\back。
等传输完成后,打开该文件夹,检查实际收到的名称。如果已有同名文件,客户端可能提示覆盖、改名或按当前设置处理,应先保留旧副本,再确认新文件的实际名字。不能只看终端里的 demo.zip,就断定 Windows 本地已经下载成功。

3. 用 sz 下载同一份文件
4. 改用内置 SFTP,分别指定两边目录
如果服务器允许 SFTP,就不依赖远程 rz、sz。保持 SSH 会话可用,在 Xshell 的【窗口】菜单选择【新建文件传输】。这一入口可能按当前选项打开内置 SFTP,也可能启动已安装的 Xftp。
若要使用内置 SFTP,可在 Xshell 的程序选项中启用含义为“新建文件传输在 Xshell 中打开 SFTP,而不执行 Xftp”的设置,再使用该入口。确认新标签是连接同一服务器的 SFTP 提示符;若弹出认证或主机密钥提示,按真实服务器信息核对。

Xshell 内置 SFTP 标签页,显示本地与远程目录切换命令
SFTP 会话有自己的工作目录,不要假设它自动继承 SSH 终端刚才的 cd。以下以第一步确认的远程目录为例,在 SFTP 提示符中逐条输入:
lcd C:\Transfer
lpwd
cd /home/reader/xshell-transfer-demo
pwd
lls
ls
lcd、lpwd、lls 对应 Windows 本机;cd、pwd、ls 对应远程服务器。确认本地列表中有 demo.zip,且远程目标目录没有需要保留的同名文件,再上传:
put demo.zip
ls
要下载回来,先把本地目录切到空的 back 文件夹,再执行 get:
lcd C:\Transfer\back
lpwd
get demo.zip
lls
put 是从本地上传,get 是从远程下载。不要在普通 Linux SSH 提示符中直接输入这些 Xshell SFTP 命令;那样运行的是服务器环境里的命令,不是当前 SFTP 客户端的文件操作。
服务器可能限制 SFTP 可见目录,实际路径未必与 SSH 中完全相同。遇到目录不存在或权限拒绝,先核对该账号获准访问的路径;SSH 能登录不保证 SFTP 子系统也获准使用。需要确认当前客户端命令时,在 SFTP 提示符输入 help。
5. 用 Xftp 查看两侧文件并拖放传输
如果电脑已经安装 Xftp,也可以从当前 SSH 会话选择【窗口】→【新建文件传输】,让 Xftp 发起到同一主机的 SFTP 连接。如果仍打开内置 SFTP,则先调整上一节提到的入口选项,或直接打开 Xftp 并核对相同的服务器、SSH 端口和账号。
在 Xftp 中确认哪一侧是本地、哪一侧是远程,再分别打开 C:\Transfer 和远程练习目录。选中本地 demo.zip,拖到远程目标窗格;观察传输队列,等这一项完成,再刷新远程文件列表。
下载时,把本地窗格切到 C:\Transfer\back,选中远端 demo.zip,拖到这个本地窗格。方向与上传相反,目标文件夹也要先选好。遇到重名提示时按实际需要改名或跳过,不盲目确认覆盖。
Xftp 的优势是能同时查看两侧目录、管理队列和文件夹。它与 Xshell 联动时,SSH 会话对应的是 SFTP 连接;不需要因为传文件就另外开放 FTP 的 21 端口。FTP、FTPS、SFTP 不是同一个协议,连接方式应与服务器实际提供的服务一致。
6. 对比文件内容,再保留路径记录
不论用哪一种方式,最后都检查远端文件、下载副本以及传输工具是否报告完成。若文件重要,再对比 SHA-256,避免只比较文件名或进度百分比。
在 Windows PowerShell 中计算原文件和下载副本的哈希:
Get-FileHash -LiteralPath 'C:\Transfer\demo.zip' -Algorithm SHA256
Get-FileHash -LiteralPath 'C:\Transfer\back\demo.zip' -Algorithm SHA256
在 Linux 的实际远程练习目录中执行:
sha256sum -- demo.zip
比较三处实际显示的哈希字符串。三者一致时,可以据此确认这三份文件的内容一致;如果下载时被自动改名,PowerShell 中也要换成实际文件路径。

Windows PowerShell 与 Linux 终端分别显示 SHA256 哈希值
随后打开下载回来的压缩包,检查是否能读取预期文件。哈希一致只说明传输内容一致,不代表压缩包里的程序可以直接运行,也不会替你验证业务配置是否正确。
保留本地原文件、下载副本和远程完整路径。以后临时收发少量文件可沿用 ZMODEM,频繁管理目录可沿用 SFTP 或 Xftp,每次仍先确认当前目录和传输方向。

































