OpenSSHを使用してWindowsでSFTPサーバーをセットアップする方法

ローカルネットワークを介してワイヤレスでデータを転送することは新しいことではなく、長い間人々がそれを行ってきました。 あなたは私が話していること、つまりFTP接続を知っているかもしれません。 FTPクライアントを使用すると、あるデバイスを別のデバイスに接続して、ネットワーク経由でデータを転送できます。

しかし、そもそもFTPプロトコルは安全ではないので、もっと良いものを優先してそれを捨てることを検討すべきです。

気付いていない人のために、はるかに優れたワイヤレス転送プロトコルが存在し、SFTPと呼ばれています。 SFTPのSは、文字通りセキュアを意味します。 接続のログイン情報と転送されるデータを暗号化します。 そのため、だれもデータ転送をタップして改ざんすることはできません。 一方、ネットワークトラフィックをリッスンする人は誰でも情報が保護されないため、FTPは安全です。

SFTPの良いところは、FTPを使用するすべてにSFTPを使用できることです。 そのため、無料で優れたセキュリティが得られます。 失うものは何ですか?

問題は1つだけです。 Windows 10より前のWindowsバージョンにはSSHが付属していないため、OpenSSH(または同様のもの)をインストールする必要があります。 これはオープンソースのSSH実装であり、誰がそれを推奨するのでしょうか? マイクロソフト。 OpenSSHは、Windows 10およびWindows Server 2019に含まれています。

このチュートリアルは、元のOpenSSHドキュメントに基づいています。 公式ガイドは恐ろしく見えるかもしれませんが、それが可能な限りユーザーフレンドリーなものにした理由です。 この方法は、Windows 7でテストしたどのバージョンのWindowsでも実行できます。

OpenSSHを使用してWindowsでSFTPサーバーをセットアップする方法

このプロセスは、OpenSSHのインストールと、SFTPが機能するためのSSHポートのオープンという2つの部分で構成されています。

OpenSSHのインストール(および必要なサービスのアクティブ化)

  1. GitHubからOpenSSHをダウンロードします。
  2. アーカイブをProgram Filesフォルダーに抽出します。
  3. PowerShellを管理者として開き、次のコマンドをウィンドウに貼り付けて、フォルダーに移動します: cd "C:\ Program Files \ OpenSSH-Win64"。
  4. SSHを実行するには、sshdとssh-agentの2つのサービスが必要です。 これらをインストールするには、PowerShellウィンドウにコマンドpowershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1を貼り付けます。 「sshdおよびssh-agentサービスが正常にインストールされました」というメッセージが表示されます。
  5. PowerShellウィンドウを閉じます。
  6. Services.mscを使用して、サービスを手動で開始するか、自動的に開くように設定できます 。 これにより、サービスを機能させるために重要なホストキーを含むフォルダー「C:\ ProgramData \ ssh」が作成されます。

:サービスの名前は、OpenSSH Authentication AgentおよびOpenSSH SSH Serverです。

WindowsファイアウォールでSSHポートを手動で開く

  1. SSHは転送/認証にポート22を使用しますが、SSHはデフォルトでは含まれていないため、Windowsでは閉じられます。 開くには、コントロールパネルからWindowsファイアウォールを開きます。
  2. 左ペインの[受信の規則]をクリックします。
  3. 右側のペインで、新しいルールをクリックし、ポートを選択して、次へをクリックします。
  4. [特定のローカルポート]オプションに22を入力し、[次へ]をクリックします。
  5. [接続を許可する]を選択し、[次へ]をクリックして、ネットワークオプションに[プライベート]を選択します。
  6. ルールに名前を付けます。 SSHまたはOpenSSHなど。
  7. 完了をクリックします。

それだけです、あなたは行ってもいいです。

SFTPサーバーのテスト

動作するかどうかテストしてみましょう。 これを行うにはSFTPクライアントが必要です。WinSCPは私がWindowsで使用するものですが、FileZilla、FTP Rush、またはAltap SalamanderなどのSFTPをサポートするファイルマネージャーなど、SFTPをサポートする他のものを使用できます。

Androidには、多くのオプションがあります。 Total CommanderとGhost CommanderにはSFTPプラグインがあり、Amaze File ManagerやX-plore File Managerなどの一部のアプリには機能が組み込まれています。

WinSCPを実行し、プロトコルとして「SFTP」を選択します。 ホスト名フィールドに「localhost」と入力します(OpenSSHをインストールしたPCをテストする場合)。 プログラムがサーバーに接続できるようにするには、Windowsのユーザー名とパスワードを入力する必要があります。 保存をクリックして、ログインを選択します。

次のようなポップアップウィンドウが表示され、接続しようとしているサーバーを信頼するかどうかを尋ねられます。 サーバーは自分のコンピューターであるため、許可することができます。 基本的に、これはデバイスによって確立された接続を認証するホストキーです。 これを使用して、あるコンピューターから別のコンピューターにコンテンツを転送することもできます。

注:Windowsユーザーアカウントにパスワードがない場合は、公開鍵を使用してSFTPサーバーを認証する必要がありますが、これには別のプロセスが含まれます。 SFTPアクセス用にシステム上に別のアカウントを作成できますが、ユーザーディレクトリ外でファイルを使用可能にする必要がある場合があります。

アンドロイド

オープンソースのAmaze File Managerを使用しましょう。 +ボタンをタップし、「クラウド接続」を選択します。 SCP / SFTP接続を選択すると、ポップアップが表示されます。 コマンドプロンプトとコマンドIP configを使用して、コンピューターのIPアドレスを見つけます。 たとえば、私のPCのアドレスは192.168.1.9です

サーバーフィールドに入力し、ポート番号を22のままにして、それぞれのフィールドにWindowsユーザー名とパスワードを入力します。 コンピューターに接続し、Windowsアカウントでアクセスできるすべてのコンテンツにアクセスできるようになります。

終わりの言葉

この操作の主な利点の1つは、ネットワーク経由でファイルに簡単にアクセスまたは転送できることです。 これはすべてのユーザーが必要とするものではなく、個々のニーズに応じて同じ目標を達成するための他のオプションも確かにあります。

Now You :過去にSSHをセットアップしたことがありますか、それとも積極的に使用しましたか?