<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SFTP | 株式会社ファーストペンギン</title>
	<atom:link href="https://www.firstpenguin.co.jp/tag/sftp/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.firstpenguin.co.jp</link>
	<description></description>
	<lastBuildDate>Mon, 08 Jun 2020 10:29:25 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.firstpenguin.co.jp/wp-content/uploads/2019/09/cropped-icon-32x32.png</url>
	<title>SFTP | 株式会社ファーストペンギン</title>
	<link>https://www.firstpenguin.co.jp</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/>
<atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/>
<atom:link rel="hub" href="https://websubhub.com/hub"/>
<atom:link rel="self" href="https://www.firstpenguin.co.jp/tag/sftp/feed/"/>
	<item>
		<title>FTPファイル転送の実装</title>
		<link>https://www.firstpenguin.co.jp/c-sftp/</link>
					<comments>https://www.firstpenguin.co.jp/c-sftp/#respond</comments>
		
		<dc:creator><![CDATA[takashima.kentaro]]></dc:creator>
		<pubDate>Mon, 08 Jun 2020 10:29:06 +0000</pubDate>
				<category><![CDATA[技術情報]]></category>
		<category><![CDATA[開発]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[SFTP]]></category>
		<category><![CDATA[ファイル転送]]></category>
		<guid isPermaLink="false">https://www.firstpenguin.co.jp/?p=285</guid>

					<description><![CDATA[SSH.NET(Renci.SshNet)でファイルを転送する方法を紹介。 ※SSH.NETとは.NET向けのSSHライブラリです。 目次 SSH.NETパッケージのインストールコーディング要領実装サンプル SSH.NE [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>SSH.NET(Renci.SshNet)でファイルを転送する方法を紹介。<br />
※SSH.NETとは.NET向けのSSHライブラリです。</p>

  <div id="toc" class="toc tnt-number-detail toc-center tnt-number_detail border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">SSH.NETパッケージのインストール</a></li><li><a href="#toc2" tabindex="0">コーディング要領</a></li><li><a href="#toc3" tabindex="0">実装サンプル</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">SSH.NETパッケージのインストール</span></h2>
<p>SSHを操作するためにパッケージをインストールします。</p>
<div class="info-box">「ツール」→「NuGetパッケージマネージャー」→「ソリューションのNuGetパッケージの管理」</div>
<p>を選択し管理画面を開きます。</p>
<p><img fetchpriority="high" decoding="async" src="https://www.firstpenguin.co.jp/wp-content/uploads/c_sftp_1.png" alt="" width="880" height="493" class="alignnone size-full wp-image-290" srcset="https://www.firstpenguin.co.jp/wp-content/uploads/c_sftp_1.png 880w, https://www.firstpenguin.co.jp/wp-content/uploads/c_sftp_1-300x168.png 300w, https://www.firstpenguin.co.jp/wp-content/uploads/c_sftp_1-768x430.png 768w, https://www.firstpenguin.co.jp/wp-content/uploads/c_sftp_1-120x68.png 120w, https://www.firstpenguin.co.jp/wp-content/uploads/c_sftp_1-160x90.png 160w, https://www.firstpenguin.co.jp/wp-content/uploads/c_sftp_1-320x180.png 320w, https://www.firstpenguin.co.jp/wp-content/uploads/c_sftp_1-406x227.png 406w" sizes="(max-width: 880px) 100vw, 880px" /></p>
<p>検索窓へ「SSH.NET」を入力し、参照タブへ移動します。その中から、</p>
<div class="info-box">「SSH.NET」</div>
<p>をインストールしてください。</p>
<h2><span id="toc2">コーディング要領</span></h2>
<p>初めにSSH接続用のクライアントを生成します。</p>
<div class="info-box">var client = new SftpClient(ホスト名, ユーザ名, パスワード);</div>
<p>次に接続を行います。</p>
<div class="info-box">client.Connect();</div>
<p>接続が確立したら、ファイルをダウンロードまたはアップロードするコードを記述します。</p>
<div class="info-box">//ダウンロード<br />
client.DownloadFile(ダウンロードするファイルパス, ダウンロード先のファイルストリーム);<br />
//アップロード<br />
client.UploadFile(アップロードするファイルストリーム, アップロード先ファイルパス);</div>
<p>ここまでで、ファイルのダウンロードまたはアップロードが実装できます。</p>
<h2><span id="toc3">実装サンプル</span></h2>
<p>上記までの内容を元に実装してみました。</p>
<div class="hcb_wrap">
<pre class="prism line-numbers lang-csharp" data-lang="C#"><code>using System.IO;
using Renci.SshNet;
private void sample()
{
  var sHost = "ホスト名";
  var sUser = "ユーザ名";
  var sPass = "パスワード";

  //SSHクライアント生成
  using (var client = new SftpClient(sHost, sUser, sPass))
  {

    //接続
    client .Connect();
    if (!client.IsConnected)
    {
      Console.WriteLine("SSH接続が確立しませんでした。");
      return;
    }

    //ファイルをアップロード
    using (Stream fs = File.OpenRead(@"C:\Temp\UploadFile.txt"))
    {
      client.UploadFile(fs, "/home/user1/UploadFile.txt");
    }

    //ファイルをダウンロード
    using (Stream fs = File.OpenWrite(@"C:\Temp\DownloadFile.txt"))
    {
      client.DownloadFile("/home/user1/UploadFile.txt", fs);
    }
  }
}</code></pre>
</div>
<p>メソッドを実行すると、「C:\Temp\UploadFile.txt」というファイルがアップロードされ、<br />
アップロードしたファイルが「C:\Temp\DownloadFile.txt」という名前で保存されます。</p>
<p>以上、SSH接続でのファイル転送をご紹介しました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.firstpenguin.co.jp/c-sftp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
