サーバー設定 · 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 -yVsftpdがインストールされたら、Vsftpdサービスを開始し、起動時に自動的に開始するように設定します。
sudo systemctl start vsftpd
sudo systemctl enable vsftpdFTP用のディレクトリ構造を作成する
開始する前に、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/testVsftpdを構成する
次に、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ボタンをクリックします。次のページが表示されるはずです。

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 vsftpdSSL/TLS経由でFTPにアクセスする
ブラウザを通じてSSL/TLS経由でFTPサーバーにアクセスすることはできません。したがって、FTPサーバーにアクセスするためにFileZilla FTPクライアントをインストールする必要があります。FileZillaはSSL/TLS経由のFTPをサポートしています。
次のコマンドを使用してFileZillaクライアントをインストールできます。
sudo apt-get install filezilla -yFileZillaがインストールされたら、Unityダッシュから開きます。次の画像が表示されるはずです。

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

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

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

新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。