6

Visual Studio C# でリバース SSH ソリューションをまとめようとしたときに、この記事に出くわしました。

.NET SSH ポート フォワーディング

彼のコードを使用すると、実際にポートを開始するポイント (port.Start()) まで機能し、その後例外がスローされます。PuTTY でリバース トンネルを実行しても問題なく動作するので、サーバーは正しくセットアップされていると思います。この SSH.NET ライブラリの実装に関して何か間違ったことをしていますか?

using Renci.SshNet;
using Renci.SshNet.Messages;
using Renci.SshNet.Common;
using System;
using System.Net;
using System.Threading;

namespace rSSHTunnelerSSHNET
{

    public class Program
    {

        public static void Main(String[] arg)
        {
            String Host = "testserver.remote";
            String Username = "testuser";
            String Password = "password";

            using (var client = new SshClient(Host, Username, Password))
            {
                client.Connect();

                if (client.IsConnected)
                {
                    Console.WriteLine("connected");

                    var port = new ForwardedPortRemote("targetserver.local", 80, "testserver.remote", 8080);
                    client.AddForwardedPort(port);

                    port.Exception += delegate(object sender, ExceptionEventArgs e)
                    {
                        Console.WriteLine(e.Exception.ToString());
                    };

                    port.Start();
                }
                else
                {
                    Console.WriteLine("failed to connect.");
                    Console.ReadLine();
                }
            }
        }

    }
}
4

0 に答える 0