私はsftpを初めて使用し、ac#プログラムでファイルをsftp経由で自分の管理下にないリモートサーバーに送信しようとしています。
次のようなコードを使用します。
using (var sftp = new SftpClient(FTPAddress, FTPName, FTPPassword))
{
ConnectionInfo myCI = sftp.ConnectionInfo;
sftp.Connect(); // <<<< Exception on connect
sftp.UploadFile(sftp_ms, FileName,true);
sftp.Disconnect();
}
「不正なパケット長」の例外が発生します。
Googleの検索では、不正なパケット長は暗号化形式の不一致である可能性が高いことがわかりましたが、それを解決する方法がわかりません。
クライアントから受け取った仕様は次のとおりです。
Keys must be in Open SSH version 2 format RSA format
これを行う方法がわかりません。以前のSOの質問SSH.NETの「不正なパケット長」エラーを解決するにはどうすればよいですか?sshnet.codeplexのディスカッションへのリンクがあり、不要な暗号化キーを削除すると、その投稿者の問題が解決されます。
ssh.netのconnectioninfoクラスに16のエントリが表示されますが、そのうちの1つは非常に適切である可能性があります(グーグルを試しました)。
filezillaで与えられたIP、名前、パスワードを試しましたが、問題なく接続できます。したがって、filezillaはどういうわけか正しい暗号化を使用します。何を使っているのかわかりません。
ヘルプ ?
アンドリュー