如何使用 psftp 和 RebexTinySftpServer 更改远程工作目录

如何使用 psftp 和 RebexTinySftpServer 更改远程工作目录

我正在测试 Windows 上服务器之间的 SFTP 文件传输。我使用 psftp.exe 作为 SFTP 客户端,使用 RebexTinySftpServer 作为 SFTP 服务器。我能够连接到 Rebex 服务器并使用 get 和 put 来传输文件,但我发送到服务器的所有文件都会自动进入 Rebex 服务器文件夹内的一个名为“data”的文件夹。我想将远程工作目录更改为 Rebex 服务器提取路径之外的其他路径。我尝试使用 CD 命令更改远程路径,但它只能更改为 Rebex 服务器数据文件夹内的子文件夹。当我尝试以下命令时:

cd /D:/SFTP_Test
cd /D/SFTP_Test
cd /SFTP_Test
cd \D:\SFTP_Test
cd D:\SFTP_Test

我收到消息“没有这样的文件或目录”。如果我只想将远程目录更改为“D:\SFTP_Test”,我该怎么办?我的 Rebex 服务器解压到“D:\SFTP\RebexTinySftpServerBin-1.0.5”位置

编辑:在@Martin Prikryl 的帖子的帮助下,我找到了问题的解决方案。我打开了 Rebex 服务器的配置文件 (D:\SFTP\RebexTinySftpServerBin-1.0.5\RebexTinySftpServer.exe.Config),并更改了以下行的值:

<add key="userRootDir" value="data"/> 

<add key="userRootDir" value="D:\"/>

现在我可以使用命令 cd 到 D 盘内的任何路径cd /SFTP_Test

答案1

您的 SFTP 服务器已配置为 chroot 到“数据”文件夹。

您很可能无法在 psftp 端执行任何操作来离开“数据”文件夹。

您必须更改 SFTP 服务器配置。

相关内容