2016-04-01 6 views
0

私はSSH.NET libraryを使ってリモートSFTPサーバーに接続しています。しかし、これはChangeDirectory方法でNo Such Fileを言って例外をスローし、私は非常に基本的なコードを使用しようとしているが、それはC#SFTPいいえそのようなファイル

using (var client = new SftpClient(host, username, password)) 
{ 
    client.Connect(); 
    client.ChangeDirectory(@"sftp://server.example.com/other_directory"); 
} 

を働いていません。

私はカールと同じことを試みたが、

カールを言ってエラーを得た:(51)SSLピア証明書またはSSHリモートキーは

OKなかったしかし、私はカールの--insecure引数を追加し、すべてうまくいった。

--insecureの部分は、なぜSSH.NETライブラリが動作しないのか、別の理由があるのですか? --insecureがC#で何をシミュレートする方法はありますか?

おかげ

+0

に役立ちます希望はsftpの 'のように私には聞こえ:// server.example.com /'あなたに安全な接続を拒否されます。だから設定上の問題かもしれませんが、あなたがクライアント側で間違っていることは何もありません。 –

+0

私はそれが当初のケースかもしれないと思ったが、カールや他のサードパーティのツールを使って私のマシンにアクセスできるようになったので、それは私の側にあると思った? – TryNCode

+0

wiresharkやfiddlerのようなスニファを使用してデータをキャプチャし、動作中のアプリケーションと非動作中のアプリケーションの結果を比較します。通常、問題はhtmlヘッダーの違いです。 – jdweng

答えて

1

誰がこの問題に遭遇した場合は、そのようなChangeDirectoryのとUploadFileなどのいずれかの方法がWorkingDirectory財産への相対パスを期待していることが判明しました。その結果、私は

client.ChangeDirectory(@"/other_directory"); 

にそれを変更することで、私の問題を修正し、他の誰か

+0

'/ other_directory'は絶対パスであり、相対パスではありません。要点はパスを必要とするメソッドですが、代わりにURLを指定していました。 –

+0

私はそれが相対的な経路だと思いましたか?作業ディレクトリに関連しています。http://www.coffeecup.com/help/articles/absolute-vs-relative-pathslinks/ – TryNCode

+0

その記事は間違っています。それは "経路"と言いますが、それは実際にはURLに関するものです。ここではURLではなくパスについて説明します。作業ディレクトリに対する相対パスはスラッシュで始めることはできません。 –

関連する問題