xshell上传文件到远程主机
Xshell6是一个强大的安全终端模拟软件。 Xshell6支持SSH1,SSH2和TELNET 协议。用户可以通过家里的网络连接远程主机,方便用户在家处理突发事情,可以让用户轻松管理远程主机。 Xshell6还可以上传下载文件,非常方便。
本文介绍如何在 Windows 版 Xshell 中使用内置 SFTP 命令上传文件。通过具体步骤演示如何连接远程主机、确认本地与远程目录路径、执行 put 上传命令以及验证文件完整性,适合需要快速进行安全文件传输的用户。
在 Windows 电脑上管理远程服务器时,经常需要将本地的配置文件或脚本上传到远程主机。使用 Xshell 内置的 SFTP 功能,无需安装额外的 FTP 客户端软件,即可在同一个会话环境中完成安全的文件传输。这种方法直接复用 SSH 认证机制,操作路径清晰,且能实时看到传输状态。

Xshell 内置 SFTP 文件上传操作流程示意
要实现这一过程,前提是远程主机已开启 SSH 服务并允许当前账号使用 SFTP 协议,同时你拥有目标目录的写入权限。以下操作以将本地的 upload-demo.txt 文件上传到远程指定目录为例,展示从准备到验证的完整步骤。
1. 准备本地文件和连接信息
在开始之前,先在 Windows 文件资源管理器中创建一个专门的文件夹,例如 C:\UploadDemo,并将待上传的文件 upload-demo.txt 放入其中。建议打开“文件扩展名”显示选项,确保文件名确实是 .txt 结尾,而不是被系统隐藏后缀后误存为 .txt.txt。
向服务器管理员确认以下关键信息:主机地址(IP 或域名)、SSH 端口号(默认为 22)、登录用户名以及允许写入的目标目录路径。请注意,网页访问地址通常不能直接用于 SFTP 连接,且普通的 SSH 登录权限并不自动等同于所有目录的写权限,务必提前明确可操作的目录范围。

1. 准备本地文件和连接信息
2. 在 Xshell 本地提示符建立 SFTP 连接
打开 Xshell,新建一个标签页或窗口,确保当前处于 Xshell 的本地 Shell 环境,而不是已经登录到远程 Linux 的终端中。如果当前标签已连接远程主机,请另开一个本地标签进行操作,以免将客户端命令误输入到远程系统中。
在本地提示符下输入以下命令建立 SFTP 连接:
sftp username@server.example.com 22
请将 username 替换为你的实际账号,server.example.com 替换为服务器地址,22 替换为实际的 SSH 端口。如果使用的是默认端口 22,部分版本也可以省略端口号直接输入 sftp username@server.example.com。

在 Xshell 本地标签中输入 sftp 连接命令
按下回车后,根据提示输入密码或完成密钥认证。如果是首次连接该主机,系统会显示主机密钥指纹,请与管理员提供的指纹核对一致后接受。连接成功后,命令行提示符会变为 sftp>,表示已进入 SFTP 交互模式。若出现认证失败或服务不可用提示,需先检查网络连接和账号权限,不要继续执行后续上传命令。
3. 分别确认本地目录与远程目录
SFTP 协议涉及两个独立的文件系统:本地 Windows 环境和远程 Linux 环境。上传前必须分别确认两边的工作目录,避免文件传错位置或找不到源文件。
首先定位本地文件。在 sftp> 提示符下输入:
lcd C:\UploadDemo
lpwd
lls
lcd 命令用于切换本地工作目录(Local Change Directory),lpwd 显示当前本地路径,lls 列出本地目录下的文件。检查输出结果,确保 upload-demo.txt 出现在列表中。
接着确认远程目标位置。输入:
pwd
ls
pwd 显示远程当前工作目录,ls 列出远程目录下的文件。如果当前目录不是管理员指定的目标目录,使用 cd /path/to/target 切换到正确路径,并再次使用 pwd 确认。注意 cd 改变的是远程目录,与 lcd 作用不同。
在开始上传前,观察 ls 的结果,检查远程目录下是否已存在同名文件。为避免意外覆盖重要数据,初次练习建议使用不冲突的文件名,或在确认业务需求后再处理同名文件。
4. 执行 put 并观察传输结果
当本地源文件和远程目标目录都确认无误后,执行上传命令:
put upload-demo.txt
该命令会将本地当前目录下的 upload-demo.txt 上传到远程当前目录。等待命令执行完毕,观察屏幕输出的传输进度和结果提示。如果显示传输成功,通常会列出传输的文件名和大小;如果出现错误,如 “No such file” 或 “Permission denied”,则需返回上一步检查路径拼写或权限设置。
若提示找不到本地文件,请重新执行 lpwd 和 lls 核对本地路径和文件名;若提示权限不足,请使用 pwd 确认远程路径,并联系管理员开通相应目录的写权限。不要随意更改远程目录的全局权限,也不必为此安装 rz/sz 等其他传输工具。

4. 执行 put 并观察传输结果
5. 检查远程文件并退出会话
上传完成后,再次输入 ls 命令,确认远程目录中出现了 upload-demo.txt,并对比文件大小是否与本地一致。对于重要的配置文件或代码,建议通过已有的 SSH 会话登录远程主机,使用 cat 或 md5sum 等命令进一步校验文件内容,仅凭文件名相同不能完全保证数据完整。

使用 ls 命令验证远程文件是否存在
确认文件无误后,输入 bye 或 exit 结束 SFTP 会话,返回 Xshell 本地提示符。本地的原始文件依然保留,若后续有修改,需重新执行上述上传步骤。如果在操作中忘记可用命令,可以在 sftp> 提示符下输入 help 查看当前支持的指令列表。

































