Windows上のサーバー間のSFTPファイル転送をテストしています。 SFTPクライアントとしてpsftp.exeを使用し、SFTPサーバーとしてRebexTinySftpServerを使用しています。 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 /SFTP_Test
を使用して、Dドライブ内の任意のパスにcdできます。
SFTPサーバーは、「data」フォルダーにchrootするように構成されています。
「data」フォルダーを残すためにpsftp側でできることはおそらく何もありません。
SFTPサーバーの構成を変更する必要があります。