CentOS7.1にvsftpdをインストールしてFTP接続する方法

vsftpdをインストール

[root@localhost ~]# yum -y install vsftpd

インストールされたバージョンを確認。

[root@localhost ~]# vsftpd -v
vsftpd: version 3.0.2

vsftpdの設定ファイルの編集

対象ファイル
/etc/vsftpd/vsftpd.conf

匿名ユーザーのログインを禁止

変更前

anonymous_enable=YES

変更後

anonymous_enable=NO

ログファイルの設定

変更前

#xferlog_file=/var/log/xferlog

変更後

xferlog_file=/var/log/xferlog

アスキーモードでのアップロード、ダウンロードを許可

変更前

#ascii_upload_enable=YES
#ascii_download_enable=YES

変更後

ascii_upload_enable=YES
ascii_download_enable=YES

ホームディレクトリより上階層へのアクセス

・デフォルトでのアクセスを禁止
・アクセスを許可するユーザーリストの有効化
・アクセスを許可するユーザーのリスト名
変更前

#chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list

変更後

chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

ディレクトリごとの削除を可能に

変更前

#ls_recurse_enable=YES

変更後

ls_recurse_enable=YES

IPv4をリッスンする

変更前

listen=NO

変更後

listen=YES

IPv6をリッスンしない

変更前

listen_ipv6=YES

変更後

listen_ipv6=NO

PASVモード関連の設定

以下をすべて追記。

接続先IPアドレスをホスト名から取得

pasv_addr_resolve=YES

接続先IPアドレスが牽けるホスト名

pasv_address=ftp.localhost

最小ポート番号

pasv_min_port=4000

最大ポート番号

pasv_max_port=4005

タイムスタンプを日本時間

以下を追記。

use_localtime=YES

vsftpdを起動

[root@localhost vsftpd]# systemctl start vsftpd

vsftpdを自動起動させる

※自動起動させる場合

[root@localhost vsftpd]# systemctl enable vsftpd.service

ポートの開放

[root@localhost vsftpd]# firewall-cmd --add-service=ftp
success
[root@localhost vsftpd]# firewall-cmd --add-service=ftp --permanent
success
[root@localhost vsftpd]# firewall-cmd --list-services
dhcpv6-client ssh ftp
[root@localhost vsftpd]# firewall-cmd --add-port=4000-4005/tcp
success
[root@localhost vsftpd]# firewall-cmd --add-port=4000-4005/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost vsftpd]# firewall-cmd --list-ports
4000-4005/tcp

FTPクライアントから接続

※FileZillaの場合。

  • ホスト:IPアドレス
  • ポート:22
  • プロトコル:SFTP – SSH File Transfer Protocol
  • ログオンの種類:通常
  • ユーザ:(ユーザー名)
  • パスワード:(上記ユーザーのパスワード)

CentOS の一覧