FTP設定 · 1 min read · Dec 14, 2025
CentOS 7.2でPureFTPdとFileZillaをTLSセッションで使用する方法
この記事では、CentOS 7.2サーバーでTLSセッションを受け入れるようにPureFTPdを設定する方法を説明します。プレーンFTPは、すべてのパスワードとデータが平文で転送されるため、安全でないプロトコルです。TLSを使用することで、通信全体を暗号化できるため、FTPははるかに安全になります。
1 予備ノート
CentOS 7.2サーバーに動作するPureFTPdのセットアップが必要です。例えば、このチュートリアルに示されているように:CentOS 7.2でのPureFTPd、MariaDB、および仮想ユーザー(クォータと帯域幅管理を含む)を使用したFTPサーバー
2 OpenSSLのインストール
TLSにはOpenSSLが必要です。OpenSSLをインストールするには、次のコマンドを実行します:
yum -y install openssl3 PureFTPdの設定
/etc/pure-ftpd/pure-ftpd.confを開きます…
nano /etc/pure-ftpd/pure-ftpd.confFTP と TLSセッションの両方を許可したい場合は、TLSを1に設定します:
[...]
# このオプションは3つの値を受け入れることができます:
# 0 : SSL/TLS暗号化レイヤーを無効にする(デフォルト)。
# 1 : 従来のセッションと暗号化されたセッションの両方を受け入れる。
# 2 : SSL/TLSセキュリティメカニズムを使用しない接続を拒否する、
# 匿名セッションを含む。
# この設定を盲目的にコメント解除しないでください。以下を確認してください:
# 1) サーバーがSSL/TLSサポートでコンパイルされていること(--with-tls)、
# 2) 有効な証明書が存在すること、
# 3) 互換性のあるクライアントのみがログインすること。
TLS 1
[...]TLSセッションのみを受け入れたい場合(FTPなし)は、TLSを2に設定します:
[...]
# このオプションは3つの値を受け入れることができます:
# 0 : SSL/TLS暗号化レイヤーを無効にする(デフォルト)。
# 1 : 従来のセッションと暗号化されたセッションの両方を受け入れる。
# 2 : SSL/TLSセキュリティメカニズムを使用しない接続を拒否する、
# 匿名セッションを含む。
# この設定を盲目的にコメント解除しないでください。以下を確認してください:
# 1) サーバーがSSL/TLSサポートでコンパイルされていること(--with-tls)、
# 2) 有効な証明書が存在すること、
# 3) 互換性のあるクライアントのみがログインすること。
TLS 2
[...]TLSをまったく許可しない場合(FTPのみ)は、TLSを0に設定します:
[...]
# このオプションは3つの値を受け入れることができます:
# 0 : SSL/TLS暗号化レイヤーを無効にする(デフォルト)。
# 1 : 従来のセッションと暗号化されたセッションの両方を受け入れる。
# 2 : SSL/TLSセキュリティメカニズムを使用しない接続を拒否する、
# 匿名セッションを含む。
# この設定を盲目的にコメント解除しないでください。以下を確認してください:
# 1) サーバーがSSL/TLSサポートでコンパイルされていること(--with-tls)、
# 2) 有効な証明書が存在すること、
# 3) 互換性のあるクライアントのみがログインすること。
TLS 0
[...]次に、以下の2行の前の#を削除します:
TLSCipherSuite HIGH
CertFile /etc/ssl/private/pure-ftpd.pemそして、変更した設定ファイルを保存します。
4 TLS用のSSL証明書の作成
TLSを使用するためには、SSL証明書を作成する必要があります。私は/etc/ssl/private/に作成するので、まずそのディレクトリを作成します:
mkdir -p /etc/ssl/private/その後、次のようにSSL証明書を生成できます:
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem国名(2文字コード)[XX]: <– あなたの国名を入力してください(例:「DE」)。
州または県名(フルネーム)[]: <– あなたの州または県名を入力してください。
所在地名(例:市)[デフォルトの市]: <– あなたの市を入力してください。
組織名(例:会社)[デフォルトの会社名]: <– あなたの組織名を入力してください(例:あなたの会社名)。
組織単位名(例:部門)[]: <– あなたの組織単位名を入力してください(例:「IT部門」)。
共通名(例:あなたの名前またはサーバーのホスト名)[]: <– システムの完全修飾ドメイン名を入力してください(例:「server1.example.com」)。
メールアドレス[]: <– あなたのメールアドレスを入力してください。
SSL証明書の権限を変更します:
chmod 600 /etc/ssl/private/pure-ftpd.pem最後に、PureFTPdを再起動します:
systemctl restart pure-ftpd.serviceこれで完了です。FTPクライアントを使用して接続を試みることができます。ただし、FTPクライアントをTLSを使用するように設定する必要があります。次の章でFileZillaを使用してこれを行う方法を説明します。
5 FileZillaのTLS設定
TLSを使用してFTPを利用するには、FileZillaやFirefoxのFireFTPプラグインなど、TLSをサポートするFTPクライアントが必要です。
FileZillaで、サイトマネージャーを開きます:

TLSを使用するPureFTPdを使用するサーバーを選択します。サーバータイプのドロップダウンメニューで、通常のFTPの代わりに明示的なFTP over TLSを要求を選択します:

これでサーバーに接続できます。初めてこれを行う場合は、自己署名のSSL証明書を使用しているため、サーバーの新しいSSL証明書を受け入れる必要があります:

すべてがうまくいけば、サーバーにログインしているはずです:

6 リンク
- PureFTPd: http://www.pureftpd.org/
- FileZilla: http://filezilla-project.org/
- CentOS: http://www.centos.org/
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。