ftpとは?ftpの使い方とサーバー構築の基本

FTPの使い方

ftpはファイルの送受信に特化したプロトコルです。暗号化されていない問題からセキュリティリスクがあるとして推奨されないですが、現在も特定の用途には利用されています。

本記事ではFTPの基本について使い方からサーバー構築まで解説します。

FTPとは?

FTP (File Transfer Protocol)は「ファイル転送プロトコル」つまりファイルを送受信するためのプロトコルです。TCP/IPの分類ではHTTPと同じアプリケーション層です。

古くから存在するプロトコルです。ポートは20, 21番を使用します。

通信は暗号化せずに平文で送受信するため盗聴の危険がよく指摘されます。そのため暗号化を施したものが登場しています。SSL/TLSを利用したFTPS、SSHを利用したSFTPはセキュアなFTPとして使われています。

暗号化しないFTPは通信速度が速いことが多く、大容量のファイル転送には依然として使われています。

FTPアプリケーション

ftpアプリケーションはたくさんあります。代表的なftpアプリケーションを挙げます。

ProFTPD

proFTPDは機能の豊富さが特徴のFTPサーバーアプリケーションです。UNIX系OSおよびMacOSで提供されています。TCPwrappersや.ftpaccessファイルを用いてアクセス制御を細かく設定できます。欠点はメモリを多く使用する点です。

PureFTPD

PureFTPDは軽い動作が特徴。セキュリティに関する設定も豊富であり、安全性が高い。

vsftpd

very secure ftpd。速度が速く大規模なネットワークで有用です。

どのFTPアプリケーションを使っても問題ないと思います。

FTPクライアントの使い方

1.まずはFTPクライアントをインストールしましょう

# yum -y install ftp

これでftpコマンドが使えるようになりました。

2.ftpコマンドで操作

ftpクライアントを入手したらシェル上で「ftp」と入力しましょう。ftpコマンドモードに入れるはずです。

ftpコマンドモードではftpコマンドという専用のコマンドが使えます。

ftp操作系コマンド

  • open  FTPサーバーへの接続 例:open ftp.xxx.xx
  • close    FTPサーバーから切断 例:colse
  • quit   FTPコマンドモードの終了 例:quit

ファイル操作系コマンド

  • pwd  現在のディレクトリを確認
  • ls   ディレクトリ、ファイル情報の確認
  • cd   ディレクトリの移動
  • get   ファイルのダウンロード 例:get example.txt
    • mget 複数ファイルダウンロード 例:mget *.*
      • pomptで対話モード終了にすると確認されない
  • put    ファイルのアップロード 例:put example.txt

実際にftpサーバーからファイルをダウンロードする

ftp.riken.jpからファイルをダウンロードしてみましょう。

  1. ftpコマンドでコマンドモードに入る
  2. open ftp.riken.jpでサーバーに接続
  3. 名前を聞かれるので「anonymous」で入る
  4. password: にパスワードとしてメールアドレスを入力する
  5. *pwdコマンドでカレントディレクトリを確認
  6. lsコマンドでディレクトリを確認
  7. cdコマンドでgcc-10.1.0.tar.gzがあるディレクトリまで移動
  8. getコマンドでgcc-10.1.0.tar.gzをダウンロード
  9. closeでサーバーから切断
  10. quitでコマンドモード終了
ftpコマンドで操作

ftpコマンドで操作

ftpコマンドで操作

ftpコマンドで操作

FTPサーバーの構築

1.FTPサーバーをインストール

ここではvsftpdをインストールします。

# yum -y install vsftpd

2.ftpサーバーの設定

vstfpdの設定はvsftpd.confファイルで行います。

vsftpd.confは「/etc/vsftpd/vsftpd.conf」にあります。

設定項目

  1. anonymous_enable=no  anonymousを無効化
  2. write_enable=no  ファイル変更操作を無効
  3. chroot_local_user=yes 初期ディレクトリから上層には移動できない
  4. local_root=/home/ftpuser  ftp初期ディレクトリ
  5. userlist_enable=yes
    userlist_file=/etc/vsftpd/user_list 許可ユーザーをuser_listで指定する。

3.ftpサーバーの起動

# systemctl start vsftpd

コメントを残す

メールアドレスが公開されることはありません。