記録

SSH.NETでSFTPとSSHの接続を確立させるまでの過程。


SSH.NETでSFTPとSSHの接続を確立させるまでの過程。
ソースコードは下記です、あくまでも触りなのでココからご自分で考えて
作り変えてください。ちなみにSSH.NETのDLLの入手するには拡張機能から
NuGet Package Managerという拡張機能を追加するとツールのNuGetパッケージ
マネージャーが現れるので、ソリューションのNuGetパッケージ管理から
SSH.NETと検索しインストールすることによりDLLが使用できます。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using Renci.SshNet;
using Renci.SshNet.Common;
using Renci.SshNet.Sftp;
namespace ftp
{
    public partial class Form1 : Form
    {
        String Host = "168.192.11.1";
        int Port = 22;
        String RemoteFileDIR = "/root/";
        String LocalDestinationDIR = "C:\\Users\\hoge\\Documents\\BACKUP\\";
        String Username = "admin";
        String Password = "hogehoge";
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            ssh_cmd();
        }
        private void dl(string filename) {
            using (var sftp = new SftpClient(this.Host, this.Port, this.Username, this.Password))
            {
                sftp.Connect();
                using (var file = File.OpenWrite(this.LocalDestinationDIR + filename))
                {
                    sftp.DownloadFile(this.RemoteFileDIR + filename, file);
                }
                sftp.Disconnect();
            }
        }
        private void ssh_cmd() {
            SshClient ssh = new SshClient(this.Host, this.Username, this.Password);
            ssh.Connect();
            string command = "cd /root && ls";
            string[] str_result;
            string str_results;
            char ptn ='\n';
            int i =0;
            var result = ssh.RunCommand(command);
            //MessageBox.Show(result.Result);
            str_results = result.Result;
            str_result = str_results.Split(ptn);
            ssh.Disconnect();
            for ( i = 0; i < str_result.Length; i++) {
                //MessageBox.Show((str_result[i]));
                if (str_result[i] != "")
                {
                    dl(str_result[i]);
                }
            }
        }
    }
}

 

映画、海賊とよばれた男を観に行ったのですが #映画レビュー前のページ

もういくつ寝るとお正月って言うことで今年を振り返る。次のページ

関連記事

  1. 記録

    楽天RMSの禁止タグ制限を突破サービス!?

    楽天RMSの禁止タグ制限を突破サービスを自前してみました。完璧で…

  2. 記録

    東京キタ━━━━(゚∀゚)━━━━!!乗り降りた田舎者。

    出張のため、新人ふたりと高知から飛行機で東京に来たのだ。羽田空港でゆ…

  3. 記録

    たぶん今までのSEOが有効じゃなくなる時代へ。

    たぶん今までのSEOが有効じゃなくなる時代へ突入するだろうと思って…

  4. 記録

    曲がり角ではなくまがり道?

    曲がり角ではなくまがり道?曲がり角とは人生の転換期のことを指すこと…

  5. 記録

    物理的ルーターがIPv6だと。

    php -r &quot;copy(&#39;https://get…

  6. 記録

    英語ができない人が思う英語の大切さ。プログラミング編。

    自分は英語ができない人の中に入る、まじで英語がわからないのでプログラ…

PAGE TOP