サーバー設定 · 1 min read · Dec 15, 2025

Ubuntu 18.04 LTSにVSFTPDサーバーをインストールおよび構成する

Vsftpdは非常に安全なFTPデーモンとして知られ、Unix系システム用のFTPサーバーです。FTPは、ネットワークを介して2台のコンピュータ間でファイルをアップロード/ダウンロードするために使用される最も広く使用されている標準ネットワークプロトコルです。デフォルトでは、FTPは暗号化なしでユーザーの資格情報と共にデータを送信するため、安全ではありません。

このチュートリアルでは、Ubuntu 18.04サーバーにSSL/TLSサポートを持つVsftpdをインストールする方法を学びます。

要件

  • Ubuntu 18.04を実行しているサーバー。
  • sudo権限を持つ非rootユーザー。
  • 静的IPアドレス192.168.0.102が構成されています。

Vsftpdをインストールする

デフォルトでは、VsftpdはUbuntu 18.04のデフォルトリポジトリにあります。したがって、次のコマンドを実行するだけで簡単にインストールできます。

sudo apt-get install vsftpd -y

Vsftpdがインストールされたら、Vsftpdサービスを開始し、起動時に自動的に開始するように設定します。

sudo systemctl start vsftpd  
sudo systemctl enable vsftpd

FTP用のディレクトリ構造を作成する

開始する前に、FTPアクセス用のユーザーを作成する必要があります。

次のコマンドでユーザーを作成できます。

sudo adduser vsftp

次に、ftpディレクトリを作成し、所有権を設定します。

sudo mkdir /home/vsftp/ftp  
sudo chown nobody:nogroup /home/vsftp/ftp  
sudo chmod a-w /home/vsftp/ftp

次に、ファイルをアップロードできるディレクトリを作成し、vsftpユーザーに所有権を与えます。

sudo mkdir /home/vsftp/ftp/test  
sudo chown vsftp:vsftp /home/vsftp/ftp/test

Vsftpdを構成する

次に、FTPサーバーを設定するためにいくつかの構成を行う必要があります。

まず、元の設定ファイルのバックアップを作成します。

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

次に、vsftpd.confファイルを開きます。

sudo nano /etc/vsftpd.conf

次の行を追加します。

 listen=NO
 listen_ipv6=YES
 anonymous_enable=NO
 local_enable=YES
 write_enable=YES
 local_umask=022
 dirmessage_enable=YES
 use_localtime=YES
 xferlog_enable=YES
 connect_from_port_20=YES
 chroot_local_user=YES
 secure_chroot_dir=/var/run/vsftpd/empty
 pam_service_name=vsftpd
 pasv_enable=Yes
 pasv_min_port=10000
 pasv_max_port=11000
 user_sub_token=$USER
 local_root=/home/$USER/ftp
 userlist_enable=YES
 userlist_file=/etc/vsftpd.userlist
 userlist_deny=NO

ファイルを保存して閉じます。上記の設定は必要に応じて変更できます。

次に、FTPアクセスを許可するために、vsftpユーザーを/etc/vsftpd.userlistファイルに追加する必要があります。

sudo nano /etc/vsftpd.userlist

次の行を追加します。

vsftp

ファイルを保存して閉じたら、これらの変更を適用するためにVsftpdサービスを再起動します。

sudo systemctl restart vsftpd

今、ウェブブラウザを開いてURL ftp://192.168.0.102を入力すると、FTPにアクセスするためのユーザー名とパスワードを入力するように求められます。あなたのvsftpユーザー名とパスワードを入力し、Okボタンをクリックします。次のページが表示されるはずです。

FTPでサーバーにアクセス

SSL/TLSを使用してVsftpdを保護する

次に、FTP経由で転送されるデータを暗号化するためにSSL/TLSを有効にする必要があります。

そのためには、証明書を作成する必要があります。次のコマンドを使用してOpenSSLを使用して証明書を作成できます。

sudo mkdir /etc/cert  
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/cert/vsftpd.pem -out /etc/cert/vsftpd.pem

次に、vsftpd.confファイルを修正し、いくつかの変更を加える必要があります。

sudo nano /etc/vsftpd.conf

次の行を追加します。

rsa_cert_file=/etc/cert/vsftpd.pem
rsa_private_key_file=/etc/cert/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH

ファイルを保存し、次のコマンドを使用してVsftpdを再起動します。

sudo systemctl restart vsftpd

SSL/TLS経由でFTPにアクセスする

ブラウザを通じてSSL/TLS経由でFTPサーバーにアクセスすることはできません。したがって、FTPサーバーにアクセスするためにFileZilla FTPクライアントをインストールする必要があります。FileZillaはSSL/TLS経由のFTPをサポートしています。

次のコマンドを使用してFileZillaクライアントをインストールできます。

sudo apt-get install filezilla -y

FileZillaがインストールされたら、Unityダッシュから開きます。次の画像が表示されるはずです。

FileZilla FTPクライアント

次に、ファイル>サイトマネージャーをクリックします。次の画像が表示されるはずです。

FileZillaにサイトを追加

ここで、新しいサイトを追加し、ホスト/サイト名を提供し、IPアドレスを追加し、使用するプロトコル、暗号化、ログオンタイプを定義します。次に、接続ボタンをクリックします。次の画像が表示されるはずです。

SSL証明書を受け入れる

次に、SSL/TLS接続に使用される証明書を確認し、FTPサーバーに接続するためにもう一度OKをクリックします。次のページにFTPサーバーの内容が表示されるはずです。

VsftpdサーバーへのFTP接続が確立されました

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。