0

PSCP (PuTTY) 転送方法を使用してローカル マシン上のファイルをリモート サーバーに転送するための C# のコード スニペットを手伝ってくれる人はいますか? 本当に助かります。ありがとう

4

2 に答える 2

3

SSHNetWinSCPなどの SCP をサポートするライブラリを使用できます。どちらも、それらがどのように機能するかを示すサンプルとテストを提供します。

SSH.Net を使用すると、(テスト ファイルから) 次のコードを使用してファイルをアップロードできます。

using (var scp = new ScpClient(host, username, password))
{
    scp.Connect();
    scp.Upload(new FileInfo(filename), Path.GetFileName(filename));
    scp.Disconnect();

}

WinSCP ライブラリを使用すると、コードは次のようになります (サンプルから):

SessionOptions sessionOptions = new SessionOptions {
            Protocol = Protocol.Sftp,
            HostName = "example.com",
            UserName = "user",
            Password = "mypassword",
            SshHostKey = "ssh-rsa 1024 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
};

using (Session session = new Session())
{
    // Connect
    session.Open(sessionOptions);

    // Upload files
    TransferOptions transferOptions = new TransferOptions();
    transferOptions.TransferMode = TransferMode.Binary;

    TransferOperationResult transferResult;
    transferResult = session.PutFiles(@"d:\toupload\*", "/home/user/", false, transferOptions);

    // Throw on any error
    transferResult.Check();

}
于 2012-07-13T14:50:14.510 に答える