ubuntsu 26.04 FTPできるように設定

Ubuntu 26.04 FTPサーバー構築ガイド | vsftpd
```
Ubuntu 26.04 / Linux Server

FTPサーバー構築ガイド

vsftpdを使用してUbuntu 26.04に安全で安定したFTP環境を構築する

```
```
このページでできること

Ubuntu 26.04に vsftpd(Very Secure FTP Daemon) をインストールし、 ローカルユーザーによるFTP接続、 アップロード・ダウンロード、 パッシブモード、 UFWファイアウォール設定までを行います。

1

vsftpdをインストールする

まずUbuntuのパッケージ情報を更新し、 vsftpdをインストールします。

Terminal
sudo apt update
```

sudo apt install -y vsftpd
```

設定ファイルをバックアップ

設定変更前に、元の設定ファイルをバックアップしておくと安心です。

Terminal
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
2

vsftpdの設定を変更する

設定ファイルを開きます。

Terminal
sudo nano /etc/vsftpd.conf

基本設定

以下の設定を確認・追加してください。

``` # 匿名ユーザーのログインを禁止
anonymous_enable=NO

# Ubuntuのローカルユーザーによるログインを許可
local_enable=YES

# アップロード・削除などの書き込みを許可
write_enable=YES

# 新規ファイル・ディレクトリのパーミッション
local_umask=022

# ユーザーをホームディレクトリ内に閉じ込める
chroot_local_user=YES

# chrootされたユーザーの書き込みを許可
allow_writeable_chroot=YES ```

パッシブモード(PASV)を設定

FTPでは、ログイン用の接続とは別に データ転送用の接続が必要です。 ファイアウォールやルーター越しに接続する場合は、 パッシブモードを設定しておくと接続しやすくなります。

``` # パッシブモードを有効化
pasv_enable=YES

# パッシブ通信で使用するポート範囲
pasv_min_port=10000
pasv_max_port=10100 ```
FTP制御ポート
21/TCP
PASV開始
10000
PASV終了
10100

Nanoで保存する

保存方法

Ctrl + O → Enter → Ctrl + X

3

FTPパッシブモードの仕組み

FTPクライアントは最初に21番ポートへ接続します。 その後、ファイル転送時に10000〜10100番の PASVポートを使用します。

FTPクライアント
FileZilla / WinSCP
TCP 21
FTP制御
vsftpd
ファイル転送
TCP 10000
~10100
vsftpd
4

UFWファイアウォールを設定する

UbuntuでUFWを使用している場合、 FTPの21番ポートとPASV用ポートを開放します。

Terminal
sudo ufw allow 21/tcp
```

sudo ufw allow 10000:10100/tcp
sudo ufw reload
```

ファイアウォールの状態を確認

Terminal
sudo ufw status

以下のような設定が表示されればOKです。

ポート 用途
21/tcp FTP制御通信
10000:10100/tcp FTPパッシブモード
5

vsftpdを再起動する

設定変更を反映するため、vsftpdを再起動します。

Terminal
sudo systemctl restart vsftpd

OS起動時に自動起動

Terminal
sudo systemctl enable vsftpd

サービス状態を確認

Terminal
sudo systemctl status vsftpd
確認ポイント

Active: active (running) と表示されれば、vsftpdは正常に起動しています。

6

FTPクライアントから接続する

Windows PCなどからFileZillaやWinSCPを使用して接続します。

項目 設定
ホスト UbuntuサーバーのIPアドレス
プロトコル FTP
ポート 21
暗号化 まずは暗号化なしで接続確認
転送モード パッシブ
ユーザー名 Ubuntuの一般ユーザー
パスワード Ubuntuユーザーのパスワード

UbuntuサーバーのIPアドレスを確認

Terminal
ip addr

例えば以下のようなIPアドレスを探します。

``` 192.168.1.100
```

この場合、FTPクライアントのホストには 192.168.1.100 を入力します。

7

接続できない場合の確認

① vsftpdが起動しているか

Terminal
sudo systemctl status vsftpd

② 21番ポートが待ち受け状態か

Terminal
sudo ss -lntp | grep :21

③ PASVポートがUFWで許可されているか

Terminal
sudo ufw status

④ vsftpdのログを確認

Terminal
sudo tail -f /var/log/vsftpd.log
よくある原因
  • vsftpdが起動していない
  • UFWで21番ポートが閉じている
  • PASVポートが閉じている
  • ルーターのポート開放がされていない
  • FTPクライアントがアクティブモードになっている
  • Ubuntuユーザーのパスワードが間違っている
  • ホームディレクトリの権限に問題がある
!

セキュリティ上の重要事項

通常のFTPは暗号化されません。

FTPではユーザー名・パスワードやファイルデータが 暗号化されずにネットワークを流れる可能性があります。

特にインターネット経由でFTPを公開する場合は、 通常のFTPをそのまま利用することは推奨されません。

おすすめの選択肢

  • 同一LAN内だけで使用 → FTPでもテスト用途なら可
  • インターネット経由 → SFTPを推奨
  • FTPクライアントが必要 → FTPS(FTP over TLS)を検討
  • 外部公開する場合 → 21番+PASVポートの公開範囲を慎重に設定

最終チェックリスト

  • vsftpdをインストールした
  • /etc/vsftpd.confをバックアップした
  • anonymous_enable=NOにした
  • local_enable=YESにした
  • write_enable=YESにした
  • chroot_local_user=YESにした
  • pasv_enable=YESにした
  • 10000〜10100番をPASVポートに設定した
  • UFWの21番ポートを開放した
  • UFWの10000〜10100番を開放した
  • vsftpdを再起動した
  • systemctl statusでrunningを確認した
  • FTPクライアントをパッシブモードにした
FTP接続成功の状態

FTPクライアントからUbuntuサーバーへログインし、 ホームディレクトリが表示され、 ファイルのアップロード・ダウンロードができれば完了です。

```
```

Ubuntu 26.04 × vsftpd FTP Server Guide

Linux Server Configuration

```

コメント

人気の投稿