さくらVPSにFTPで接続する(CentOS+vsftpd)

スポンサーリンク

はじめに

さくらのVPSにFTPで接続するためのまとめです。

注意事項

  • コマンドはすべてroot権限での操作です。

環境

VPS さくらVPS 1G SSD
OS CentOS 7.3
FTPサーバ vsftpd 3.0.2

1.vsftpdのインストール

ここではvsftpd(Very Secure Ftp Deamon)をインストールします。vsftpdは安全性とパフォーマンスにすぐれ安定したFTPサーバのひとつです。

# yum install vsftpd

設定ファイルを編集する

vsftpd.confを環境に応じて編集します。

# vi /etc/vsftpd/vsftpd.conf

匿名ユーザーによるログインを無効にする

YESの場合匿名ユーザーによるログインか可能になるためNOに変更します。

- anonymouns_enable=YES
+ anonymouns_enable=NO

FTPコマンドログを有効にする

xferlog_std_form=NO、log_ftp_protocol=YESの場合すべてのFTPコマンドと応答がログに記録されます。

- xferlog_std_format=YES
+ xferlog_std_format=NO
+ log_ftp_protocol=YES

ASCIIモードでの転送を有効にする

Windowsからファイルをアップロードしたときに不要な改行コードをつけないために先頭の#を削除して有効にします。

- #ascii_upload_enable=YES
- #ascii_download_enable=YES
+ ascii_upload_enable=YES
+ ascii_download_enable=YES

接続時のバナー表示を設定する

デフォルトではvsftpdのバージョンを表示するため#を削除して設定します。

- #ftpd_banner=Welcome to blash FTP service.
+ ftpd_banner=Welcome to blash FTP service.

上位ディレクトリの参照を可能にする

chroot_listに記載したユーザーについてはホームディレクトリより上位のディレクトリを参照できるように設定します。

- #chroot_local_user=YES
- #chroot_list_enable=YES
- #chroot_list_file=/etc/vsftpd/chroot_list
+ chroot_local_user=YES
+ chroot_list_enable=YES
+ chroot_list_file=/etc/vsftpd/chroot_list

“ls -R”での参照を許可する

ディレクトリを再帰的に参照するように変更します。巨大なサイトでは多くのリソースを消費します。

- #ls_recurse_enable=NO
+ ls_recurse_enable=YES

GMTではなくローカルタイムを表示する

ローカルタイムを表示するため行を追加する。

+ use_localtime=YES

リスト内のユーザーのみアクセスを許可する

NOを指定するとuserlist_fileで指定したファイルに名前がないユーザーのアクセスを禁止します。

+ userlist_deny=NO

SSLによる暗号化通信を設定します

SSLによる暗号化通信を有効にしてデータの盗聴を防ぎます。サーバ証明書の作成はこちら

+ rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem
+ ssl_enable=YES
+ ssl_ciphers=HIGH

パッシブモードを有効にする

pasv_promiscuous=YESにすると同一のIPアドレスを起源とすることを確認するためのチェックをおこないません。

+ pasv_promiscuous=YES
+ pasv_min_port=50000
+ pasv_max_port=50030

サーバ証明書の作成

SSL通信のためにサーバ証明書を作成します。

# cd /etc/pki/tls/certs/
# make vsftpd.pem

Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:
Email Address []:
Country Name (2 letter code) [XX]:
国コードを入力します。日本の場合は「JP」です。
State or Province Name (full name) []:
都道府県名を入力します。
Locality Name (eg, city) [Default City]:
市区町村名を入力します。
Organization Name (eg, company) [Default Company Ltd]:
組織名を入力します。
Organizational Unit Name (eg, section) []:
部署名を入力します。
Common Name (eg, your name or your server’s hostname) []:
名前またはサーバホスト名を入力します。
Email Address []:
メールアドレスを入力します。

vsftpdの自動起動設定

サーバ起動時にvsftpdを自動起動するように設定します。

# systemctl enable vsftpd

vsftpd起動

vsftpdを起動します。

# systemctl start vsftpd

2.ファイアウォールの設定

FTP接続のためにfirewalld(ファイアウォール)を設定します。パッシブモード用にポートを許可します。

# firewall-cmd --add-service=ftp --permanent
# firewall-cmd --add-port=50000-50030/tcp --permanent
# firewall-cmd --reload

FTPクライアントからサーバにFTP接続できれば成功です。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする