JMETER通过SSH SFTP实现同服务器文件迁移遇SftpException求助
JMeter SSH SFTP SftpException 解决方案:同服务器文件迁移问题
核心问题定位
你当前使用的Get动作不符合需求:Get是将远程服务器的文件下载到JMeter运行的本地机器,而非在远程服务器内部迁移文件,这是触发异常的主要原因之一。以下是针对性解决步骤:
1. 修正SFTP动作选型
根据你的迁移需求(移动/复制)选择对应动作:
- 移动文件:选择
Rename动作,配置:- Source Path:
/root/novalnew/Ping-Telnet-Proxy 1.txt - Destination Path:
/root/novalold/Ping-Telnet-Proxy 1.txt(需包含文件名,否则会将文件重命名为目录名)
- Source Path:
- 复制文件:若需保留原文件,需分两步:
- 用
Get动作将文件下载到JMeter本地临时路径(比如./temp/Ping-Telnet-Proxy 1.txt) - 用
Put动作将本地临时文件上传到远程/root/novalold/目录
- 用
2. 处理带空格的文件名
源文件名包含空格,SFTP解析时容易出错,可通过两种方式修复:
- 路径转义:将源路径改为
/root/novalnew/Ping-Telnet-Proxy\ 1.txt(用反斜杠转义空格) - 引号包裹:将源路径用双引号括起来,即
"/root/novalnew/Ping-Telnet-Proxy 1.txt"
3. 验证目录权限与存在性
- 确认远程服务器上
/root/novalold/目录已存在,SFTP不会自动创建目录,若不存在,执行命令创建:mkdir -p /root/novalold/ - 检查运行SFTP请求的用户对两个目录的读写权限,执行命令查看:
确保用户拥有ls -ld /root/novalnew/ /root/novalold/rwx权限(若用root用户连接则无需额外配置)
4. 排查SFTP连接有效性
用命令行测试SFTP连接是否正常,排除基础连接问题:
sftp root@你的服务器IP
若能正常登录,说明连接配置无问题;若登录失败,检查JMeter中SSH配置的主机、端口、用户名、密码/密钥是否正确。
5. 升级JMeter或依赖包
旧版本JMeter的SSH SFTP插件可能存在兼容性bug,尝试升级到最新稳定版JMeter,确保内置的JSch依赖包为最新版本。
内容的提问来源于stack exchange,提问作者Noval C. Kesuma
相关产品推荐
相关产品推荐

