scpコマンドで日本語フォルダ内からlinuxサーバーに送信したいのですが、日本語フォルダ名部分が文字化けしてしまいscpコマンドが実行できません。

実現したいこと

windowsサーバーにて、scpコマンドで日本語フォルダ内のファイルをlinuxサーバーに送信したいのですが、送信元のファイルパスの日本語部分が文字化けしてしまい、scpコマンドが実行できません。

前提

C#.net上でpowershellを使用して、scpファイル転送をしたいです。
(windowsサーバー to linuxサーバー)
下記scpコマンドをC#プログラムおよび、powershellで直接実行すると、日本語部分が文字化けしている

該当のソースコード

scp -i [ssh認証キーのフルパス] [日本語フォルダを含む送信ファイルのフルパス] [ユーザー名]@[サーバーインスタンス名]:[送信先フォルダ]

発生している問題・エラーメッセージ

※●●●●の部分は伏字にしておりますが実際には文字化けしております。

scp : C:/test_●●●●_/testdir/test.txt: No such file or directory 発生場所 [実行したpowershellファイルのパス]:3 文字:1 + scp -i [ssh認証キー] C:/test_ ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (C:/test_●●●●...le or directory:String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError

試したこと

・powershell、cmd両方で実行しましたが、どちらでも同様に文字化けを確認しました。

・windowsでsjis,utf-8,utf-8(bom付),ansiでps1ファイルで保存して実行しましたが、
解消できませんでした。

・日本語を含まないフォルダに変更して、scpコマンドでファイル送信したところ、
C#内のpowershellコマンドおよび、ps1の実行で問題なくファイル転送できました。

補足情報(FW/ツールのバージョンなど)

・scpコマンドを実行しようとしているサーバーには私が担当しているもの以外のプログラムも複数動いているため、windowsサーバー側の設定を変えずに、scpコマンドを実行したいと考えております。

コメントを投稿

0 コメント