OpenSSHを使用してWindowsでSFTPサーバーを設定する方法
ローカルネットワークを介してワイヤレスでデータを転送することは新しいことではありません。人々は長い間それを行ってきました。あなたは私が話していることを知っているかもしれません:FTP接続。 FTPクライアントを使用すると、あるデバイスを別のデバイスに接続して、ネットワーク経由でデータを転送できます。
しかし、FTPプロトコルはそもそも安全ではないため、より良いものを優先して破棄することを検討する必要があります。
知らない人のために、はるかに優れたワイヤレス転送プロトコルが存在し、それはSFTPと呼ばれています。 SFTPのSは、文字通り安全であることを意味します。接続のログイン情報と転送されるデータを暗号化します。そのため、誰もデータ転送を利用したり改ざんしたりすることはできません。一方、FTPは、ネットワークトラフィックをリッスンするすべての人が保護されていない情報を取得するため、安全です。
SFTPの良い点は、FTPを使用したすべての目的に使用できることです。つまり、無料でセキュリティが向上します。何を失う必要がありますか?
ここで問題が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
Windowsの場合
ダウンロード中OpenSSHのインストール(および必要なサービスのアクティブ化)
- GitHubからOpenSSHをダウンロードします。
- アーカイブをProgram Filesフォルダーに抽出します。
- 管理者としてPowerShellを開き、ウィンドウに次のコマンドを貼り付けて、フォルダーに移動します。 cd 'C: Program Files OpenSSH-Win64'。
- SSHを実行するには、sshdとssh-agentの2つのサービスが必要です。これらをインストールするには、PowerShellウィンドウに次のコマンドを貼り付けます。 powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1 。 「sshdおよびssh-agentサービスが正常にインストールされました」というメッセージが表示されます。
- PowerShellウィンドウを閉じます。
- 次のコマンドを使用して、サービスを手動で開始するか、自動的に開くように設定できます。 Services.msc 。これにより、サービスが機能するために重要なホストキーを含むフォルダー「C: ProgramData ssh」が作成されます。
注意 :サービスはOpenSSH Authentication AgentおよびOpenSSH SSH Serverという名前です。
WindowsファイアウォールでSSHポートを手動で開く
- SSHは転送/認証にポート22を使用しますが、デフォルトではSSHが含まれていないため、Windowsでは閉じられています。開くには、コントロールパネルからWindowsファイアウォールを開きます。
- (左ペインの)[受信の規則]をクリックします。
- 右側のペインで、新しいルールをクリックし、[ポート]を選択して[次へ]をクリックします。
- 「特定のローカルポート」オプションに数値22を入力し、「次へ」をクリックします。
- [接続を許可する]を選択し、[次へ]をクリックして、ネットワークオプションで[プライベート]を選択します。
- ルールに名前を付けます。たとえばSSHまたはOpenSSH。
- 完了をクリックします。
それだけです、あなたは行ってもいいです。
SFTPサーバーのテスト
動作するかどうかテストしてみましょう。これを行うには、SFTPクライアントが必要です。 WinSCP 私がWindowsで使用しているものですが、SFTPをサポートしている他のものも使用できます。 FileZilla 、 FTPラッシュ 、またはSFTPをサポートするファイルマネージャ アルタップサラマンダー 。
Androidには多くのオプションがあります。 総司令官 そして ゴーストコマンダー SFTPプラグインがありますが、一部のアプリでは 驚きのファイルマネージャー または X-ploreファイルマネージャー 機能が組み込まれています。

総司令官
Windowsの場合
ダウンロード中ウィンドウズ
WinSCPを実行し、プロトコルとして「SFTP」を選択します。ホスト名フィールドに「localhost」と入力します(OpenSSHをインストールしたPCをテストする場合)。プログラムがサーバーに接続できるようにするには、Windowsのユーザー名とパスワードを入力する必要があります。保存をクリックし、ログインを選択します。
以下のようなポップアップウィンドウが表示され、接続しようとしているサーバーを信頼するかどうかを尋ねられます。サーバーは自分のコンピューターなので、許可することができます。基本的に、これはデバイスによって行われた接続を認証するホストキーです。これを使用して、あるコンピューターから別のコンピューターにコンテンツを転送することもできます。


注:Windowsユーザーアカウントにパスワードがない場合は、公開鍵を使用してSFTPサーバーを認証する必要があります。これには、別のプロセスが含まれます。 SFTPアクセス用にシステムに別のアカウントを作成できますが、ユーザーディレクトリの外部でファイルを使用できるようにする必要がある場合があります。
アンドロイド
オープンソースのAmaze File Managerを使ってみましょう。 +ボタンをタップし、[クラウド接続]を選択します。 SCP / SFTP接続を選択すると、ポップアップが表示されます。コマンドプロンプトとコマンドIP構成を使用して、コンピューターのIPアドレスを見つけます。たとえば私のPCのアドレスは192.168.1.9です



サーバーのフィールドに入力し、ポート番号を22のままにし、それぞれのフィールドにWindowsユーザー名とパスワードを入力します。それはあなたのコンピュータに接続するはずです、そしてあなたはWindowsアカウントによってアクセスできるすべてのコンテンツにアクセスすることができます。
おわりに
この操作の主な利点の1つは、ネットワーク経由でファイルに簡単にアクセスまたは転送できることです。これはすべてのユーザーが必要とするものではなく、個々のニーズに応じて同じ目標を達成する他のオプションは確かにあります。
では、あなた :過去にSSHをセットアップしたり、アクティブに使用したりしましたか?