Windows Server 2019でFTPSを利用する手順

Windows Server 2019でFTPSを利用する手順になります。

いろんなサイトを参考にしたのですが、自分の環境では正しく動作しなかったので、備忘録として残します。

結果から言うとFTPの設定変更を反映させるには、

「自分で Microsoft FTP Service サービスを再起動する」

というのを知らなかったので、路頭に迷いました。

 

サービスの再起動をしなかったので、

WinSCP接続時にずっと以下のエラーで悩んでいました。

ディレクトリ '/' のリスト取得のエラー

Server cannot accept argument

ディレクトリの一覧を取得できません。

 

Windows Server 2019でFTPSを設定し、WinSCPで接続する手順を説明します。

 

前提

Windows Server 2019(AWSのEC2を利用)

IISは10.0

IISを利用して、FTPできる環境は設定済

Windows Server 2019のファイアウォールは無効

 ※無効にできない場合は必要なポートのみ穴あけする

 

以下、FTPの設定方法です。

blog.denet.co.jp

 

構築概要

1、SSL証明書を作成&設定

2、FTPS設定

3、WinSCPの設定(特別な設定は無いです)

4、まとめ

 

手順

1、SSL証明書を作成&設定

1-1、IIS マネージャーを起動し、左ペインからサーバーを選択し、サーバー証明書 をダブルクリックする。

 

1-2、「自己署名入り証明書の作成...」をクリックする。

 

1-3、フレンドリ名には任意の名前を入力し、「OK」ボタンを押下する。

 

SSL証明書が作成されます。

 

■補足

ここで作成すると有効期限が1年になります。

PowerShellから「New-SelfSignedCertificate」で自己署名証明書を作成すれば、有効期限を自由に設定できます。(有効期限10年とか)

詳しくは以下のサイトを参照

自己署名証明書を作成する方法 | 4thsight.xyz

 

1-4、サイトを選択し、「FTPSSL 設定」をダブルクリックする。

 

1-5、「1-3」の手順で作成したSSL証明書を選択し、「SSL接続が必要」を選択し、右側にある「適用」をクリックする。

■ 補足
SSLポリシーは、FTPも利用したい場合は「SSL接続を許可する」を選択する

セキュリティ強化のため、「SSL 接続に 128ビット暗号化を利用する」のチェックは入れておいた方が良さそう

 

2、FTPS設定

2-1、サーバーを選択し、「FTPファイアウォールのサポート」をダブルクリックする。

 

2-2、任意のポートを指定(今回は「5678」とする)「適用」をクリックする。

「5678」ポートを利用するため、データチャネルポートには「5678-5678」を入力

 

2-3、サービスを起動し、「Microsoft FTP Service」を選択し、再起動をクリックする。

ここで再起動しないと、手順2-2の設定が反映されないので、再起動は必須。

 

2-4、この環境はAWSのEC2を利用しているため、セキュリティグループに「5678」のポートを空ける

 

3、WinSCPの設定

特別な設定はないので、簡単な手順で。

3-1、「明示的なTLS/SSL暗号化」を選択し、接続情報を入力し、接続する。

 

デフォルトなので設定不要ですが、「パッシブモード」で接続します。

 

3-2、初回だけ警告ができるので、「はい」ボタンを押下する。

 

3-3、接続することができました。

 

手順としては以上になります。

 

4、まとめ

FTPの設定変更は「Microsoft FTP Service」 サービスを再起動して反映される

・FTPSはパッシブモードで接続する

 

個人的には22ポートを利用するSFTPの方が良いのかなと思っています。

Windows Server 2019でSFTPを利用する手順は以下になります。

rikues2012.hatenablog.com

 

 

参考にさせて頂いたサイト

FTP サーバーで FTPS を設定する (Windows Server) - FTP - ソーサリーフォース

FTP 7.5でPASV ポートを指定する - サーバ