Windows での SFTP サーバーのセットアップ
- 古い Windows 用の SFTP サーバーのセットアップ
- 新しい Windows 用の SFTP サーバーのセットアップ
- WinSCP を使用して SFTP クライアントをセットアップおよび構成する
SFTP サーバーを使用すると、安全なネットワーク プロトコルである SSH ファイル転送プロトコルを介してファイルやコンテンツにアクセスできます。 OS環境内で、SFTPサーバーをセットアップして、リソースを取得および送信できるようにすることができます。
この記事では、WinSCP ソフトウェアを使用して Windows で SFTP サーバーをセットアップする方法について説明します。
古い Windows 用の SFTP サーバーのセットアップ
Windows で SFTP サーバーをセットアップするには、PowerShell GitHub からダウンロードできる OpenSSH をインストールする必要があります。 こちらのLinux用インストールガイド環境をご確認いただけます。
msi または zip ファイルをダウンロードできますが、この記事では msi ファイルのみを使用します。
-
msiファイルをインストールします。 その後、サービスに移動し、OpenSSH サーバーとOpenSSH 認証エージェントのステータスを確認します。
-
StatusとStartup TypeがrunningとAutomaticでない場合は、両方のサービスを右クリックしてPropertiesを選択します。
-
スタートアップの種類を自動に変更し、開始をクリックして、OKを選択します。
-
OpenSSH 認証エージェントについても同じことを行います。 これで、両方のサービスがRunningとAutomaticになるはずです。
新しい Windows 用の SFTP サーバーのセットアップ
-
新しい Windows の場合、[設定] > [アプリ] > [オプション機能] に移動して、OpenSSH を取得できます。

-
View Featuresを選択し、Add an optional featureダイアログ ボックスでOpenSSH serverを検索します。
-
OpenSSHサーバーチェックボックスオプションを選択し、インストールをクリックします。
-
その後、以下の PowerShell コマンドを使用して SSH サーバーを構成し、サーバーへの着信接続を許可します。
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH SSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -Program "C:\\Windows\\System32\\OpenSSH\\sshd.exe" -
設定が終わったら、
OpenSSH serverサービスを起動しましょう。 これを設定するには、検索バーでサービスを検索する必要があります。
-
Windows サービスのリスト内で
OpenSSH サーバーを見つけます。
-
サービスを右クリックし、
プロパティを選択します。
-
スタートアップの種類を自動に変更し、開始をクリックして、OKを選択します。
-
OpenSSH 認証エージェントについても同じことを行います。 これで、両方のサービスがRunningとAutomaticになるはずです。
WinSCP を使用して SFTP クライアントをセットアップおよび構成する
WinSCP は GPL-3.0 専用のソフトウェアで、自由に使用および変更できます。 SSH File Transfer や Amazon S3 など、さまざまなプロトコル間で安全なファイル転送を実行できます。
Windows でのみ利用可能で、ダウンロード ページ からダウンロードできます。
-
ダウンロードしたら、インストーラー ファイルを実行し、お好みの
インストール モードを選択します。
-
使用許諾契約に同意し、
標準インストールオプションを選択します。
-
好みのユーザー インターフェイス スタイルを選択しますが、この記事では
Commanderを使用します。
-
その後、
インストールをクリックして、WinSCPアプリケーションを起動します。
-
起動すると、次のような画面が表示されます。

-
ホスト名を入力します。
localhostを使用します。 デフォルトのポート番号22を使用し、コンピューターの名前とパスワードを入力します。 その後、ログインボタンをクリックしてください。
-
以下の画面ダイアログが表示されるので、
はいを選択する必要があります。
-
成功すると、以下の画面が表示されます。

-
成功しなかった場合、
OpenSSHサービスが実行されていないため、以下のようなダイアログが表示されることがあります。前述の 2つのOpenSSHサービスを開始する必要があります。
-
これで、
ssh-keygenコマンドを使用して公開鍵ベースの認証を設定できます。ssh-keygenコマンドの出力は以下のとおりです。
Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\akinl/.ssh/id_rsa): Created directory 'C:\Users\akinl/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in C:\Users\akinl/.ssh/id_rsa. Your public key has been saved in C:\Users\akinl/.ssh/id_rsa.pub. The key fingerprint is: SHA256:Ryrpy5HHTT1NK2OFzT3NjoIwORbzNV7/BfBfPLhHCEk akinl@Olorunfemi-PC The key's randomart image is: +---[RSA 3072]----+ | o .E=.o | | = +.Bo*.| | * o oo*+O| | o * o +o=*| | o S + B.+.+| | . + + . =. | | + o . | | . + | | o | +----[SHA256]-----+ssh-keygenツールがパスフレーズを要求する場合、パスフレーズを入力できますが、この記事では使用しません。ssh-keygenは.sshという名前の隠しディレクトリを作成し、.sshの下のid_rsa.pubファイル内にキー ペアを保存しました。公開鍵のフル パスは
C:\Users\akinl/.ssh/id_rsa.pubです。
公開鍵は
id_rsa.pubファイルで、秘密鍵はid_rsaです。 -
秘密鍵と公開鍵を WinSCP にリンクするには、
.sshフォルダー内にauthorized_keysという名前のファイルを作成する必要があります。 公開鍵の内容id_rsa.pubをauthorized_keysファイルにコピーし、変更を保存します。 メモ帳などのテキスト エディタを使用できます。
-
.sshディレクトリには、少なくとも 3つのファイル (authorized_keys、id_rsa、およびid_rsa.pub) が必要です。
-
authorized_keysファイルを安全に保ち、管理者またはコア ユーザーのみがアクセスできるようにするには、アクセス コントロール リスト (ACL)を構成する必要があります。 以下のコマンドを使用して、アクセス制御を構成します。icacls.exe "C:\Users\<username>\.ssh\authorized_keys" /inheritance:r /grant "Adminstrators:F" /grant "SYSTEM:F" -
<username>を自分のユーザー名に変更します。icacls.exe "C:\Users\akinl\.ssh\authorized_keys" /inheritance:r /grant "Adminstrators:F" /grant "SYSTEM:F"コマンドの出力:
processed file: C:\Users\akinl\.ssh\authorized_keys Successfully processed 1 file; Failed processing 0 files -
したがって、同じ
authorized_keysファイルを開くと、以下のダイアログが表示されます。
-
SFTP サーバーを完全に構成するには、
sshd_configファイルを編集して公開鍵ベースの認証を設定する必要があります。sshd_configファイルはProgramDataディレクトリにあります。 以下のフル パスを Windows エクスプローラーにコピーし、sshd_configファイルを開きます。C:\ProgramData\sshsshd_configファイルは、ディレクトリ内の最後のファイルです。
-
sshd_configファイルの構成情報を含む行のコメントを外すか、変更して変更します。 また、Administratorとしてsshd_configファイルを開きます。PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no PermitEmptyPasswords no Subsystem sftp internal-sftp Match User <username> X11Forwarding no AllowTcpForwarding no PermitTTY no ForceCommand internal-sftp PasswordAuthentication noさらに、
<username>を自分のユーザー名に変更してください。 さらに、ファイル内の次の構成情報についてコメントすることができます。Match Group administrators AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys -
ssh_configファイルへの変更は、以下の画像のようになります。
-
それでは、以前のユーザー名とパスワードのログイン方法を使用して WinSCP を開きましょう。

公開鍵認証のみをサポートするように構成ファイルを変更したため、サポートされなくなりました。 今すぐログインするには、公開鍵を使用する必要があります。
-
Passwordを使用する代わりに、Advancedボタンをクリックします。
-
SSHの下の認証タブに移動します。
-
認証パラメーターエリアで、秘密鍵ファイルを参照し、.sshディレクトリ (C:\Users\akinl\.ssh) に移動し、ファイル オプションをすべてのファイルに変更します。
-
id_rsaファイルを選択すると、以下のダイアログが表示されます。OKを選択してください。
その後、以下のダイアログが表示されます。

-
次に、
OKをクリックします。
-
次に、
ログインをクリックします。
これで、公開鍵認証を使用して SFTP サーバーにアクセスできるようになりました。

Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.
LinkedIn