xshell上传文件到远程 常用传输命令
Xshell6是一个强大的安全终端模拟软件。 Xshell6支持SSH1,SSH2和TELNET 协议。用户可以通过家里的网络连接远程主机,方便用户在家处理突发事情,可以让用户轻松管理远程主机。 Xshell6还可以上传下载文件,非常方便。
详解Xshell中如何使用sftp命令连接远程主机,通过lcd和cd分别定位本地与远程目录,使用put命令安全上传文件,并核对传输结果。适用于Windows用户进行单文件快速传输。
在Windows电脑上管理远程服务器时,经常需要把本地的配置文件或脚本传上去。直接使用Xshell内置的SFTP功能是最轻量的方式,无需安装额外软件,也不用打开图形化FTP客户端。只要记住“本地连远程、两端分目录、put传文件”这三个关键点,就能避免常见的路径错误和权限问题。下面以一个简单的文本文件为例,演示从连接到核对的完整过程。

Xshell本地终端界面及Windows资源管理器中的测试文件
1. 准备文件并打开Xshell本地终端
先在Windows中准备好要上传的文件。为了测试方便,建议在C盘根目录或D盘新建一个专用文件夹,例如C:\UploadTest,并在其中放入一个名为upload-check.txt的普通文本文件。文件名尽量使用英文且不带空格,这样在命令行中输入时不容易出错。注意不要选取包含密码、密钥等敏感信息的文件进行测试。
确认远程服务器已开启SSH服务,并且你的账号拥有SFTP访问权限。有些服务器虽然允许SSH登录,但可能限制了SFTP功能,这种情况需联系管理员确认。
启动Xshell,点击工具栏上的【新建会话】或直接打开一个【本地Shell】标签。务必确认当前窗口显示的是本地提示符(通常显示为C:\Users\...>),而不是已经登录到远程服务器的Linux Shell。如果在远程Shell中输入连接命令,会导致从服务器去连接另一台主机,造成逻辑混乱。

1. 准备文件并打开Xshell本地终端
2. 使用sftp命令连接目标主机
在Xshell的本地提示符下,输入sftp命令来建立安全文件传输连接。基本语法如下:
sftp [用户名]@[主机IP或域名] [端口]
例如,如果用户名为demo,服务器地址为192.168.1.100,端口为默认的22,则输入:
sftp demo@192.168.1.100
如果服务器使用了非标准端口(如2222),则在地址后加上端口号:
sftp demo@192.168.1.100 2222
按回车后,系统会提示输入密码。如果是首次连接该服务器,还会显示主机密钥指纹,确认无误后输入yes继续。连接成功后,提示符会变为sftp>,表示已进入SFTP交互模式。

在本地提示符下输入sftp命令连接远程主机
3. 分别核对远程和本地工作目录
SFTP环境中存在两个“当前目录”:一个是远程服务器上的目录,另一个是Windows本地的目录。上传前必须明确两者位置,否则容易传错地方或找不到文件。
首先查看远程目录。输入pwd显示当前远程路径,输入ls列出远程文件。假设我们要传到/home/demo/uploads目录,执行以下命令切换并确认:
cd /home/demo/uploads
pwd
接着定位Windows本地文件所在目录。使用lcd(Local Change Directory)命令切换本地路径,lpwd(Local Print Working Directory)查看当前本地路径,lls(Local List)列出本地文件:
lcd C:\UploadTest
lpwd
lls
在lls的输出列表中,确认能看到upload-check.txt。这里最容易混淆的是cd和lcd:cd操作的是服务器,lcd操作的是你的Windows电脑。如果搞反了,就会提示“文件不存在”。
4. 用put上传并等待命令结束
当远程和本地目录都确认无误后,执行上传命令。在SFTP提示符下输入:
put upload-check.txt
按回车后,Xshell会开始传输文件。进度条走完后,会返回sftp>提示符。如果传输成功,通常不会有额外的成功提示,直接回到命令输入状态;如果出现错误,则会显示具体的报错信息,如“Permission denied”(权限拒绝)或“No such file”(文件不存在)。
注意:如果远程目录下已有同名文件,put命令通常会直接覆盖。在正式生产环境中,建议先备份或使用不同的文件名测试。若提示本地文件找不到,请再次检查lpwd和lls的结果,确保路径和文件名拼写完全一致。

使用put命令将本地文件上传至远程目录
5. 核对远程文件并正常退出
上传完成后,不要立即关闭连接。输入ls查看远程目录,确认upload-check.txt已出现在列表中。为了进一步验证,可以记录文件大小,或者通过另一个SSH会话登录服务器,使用cat或md5sum命令检查文件内容完整性。
如果需要下载文件,可以使用方向相反的get命令。例如get remote-file.txt会将远程文件下载到当前Windows本地目录。
确认一切正常后,输入bye或exit退出SFTP会话。对于偶尔的单文件传输,这种命令行方式比启动图形化Xftp更快捷;如果需要频繁批量管理大量文件,再考虑使用Xftp的图形界面进行操作。

使用ls确认文件已上传并退出SFTP会话

































