初めてのmakeserverTOP > 自宅サーバ構築 > FTPサーバ構築

FTPサーバ構築について

 
FTPとは

「File Transfer Protocol」は、TCPポートの21番を使用して、ファイル転送するためのプロトコルです。
実運用でもFTPはよく使われています。

「取得したのログをファイルサーバにUPする」「パッチファイルをUPする」など機器間でのファイル受け渡しに使います。

 


●ftpサーバインストール
「Very Secure FTP Daemon」である「vsftpd」を構築してみましょう。


# yum -y install vsftpd
(「yum」コマンドを使ってインストール)















こんな感じでインストール完了します。

 


●vsftpdサーバ設定

# cd /etc/vsftpd
(「cd」コマンドを使って「/etc/vsftpd」ディレクトリへ移動)

# cp vsftpd.conf vsftpd.conf.org
(「cp」コマンドを使って「ftpd.conf」 のコピーを作ります。)

# vi vsftpd.conf
(「vi」エディタで設定ファイルを編集。)

anonymous_enable=YES

anonymous_enable=NO
(匿名ユーザのログイン禁止)


ascii_upload_enable=YES
(「#」 を削除)

ascii_download_enable=YES
(「#」 を削除)
※ アスキーモードでの、アップロード、ダウンロードを許可します。


# ftpd_banner=Welcome to blah FTP service

ftpd_banner=Welcome to blah FTP service
(「#」削除し、セキュリティの為バージョンを非表示にする)


# chroot_list_enable=YES

chroot_list_enable=YES
(「#」を削除。自分のホームディレクトリより上へのアクセスを許可するユーザーリストが有効になります)


# chroot_list_file=/etc/vsftpd.chroot_list

chroot_list_file=/etc/vsftpd/chroot_list
(「#」 を削除。上層へのアクセスを許可するユーザーリストの場所)

ls_recurse_enable=YES
(「#」 を削除 ディレクトリごと削除できるようにする)


use_localtime=YES
chroot_local_user=YES
local_root=public_html
pasv_enable=YES
userlist_deny=NO

(最終行に追加)

設定を保存して編集を終了します。


 


●ホームディレクトリより上へのアクセスを許可するために
 ユーザリストファイルを作成

# vi /etc/vsftpd/chroot_list
(新規で「chroot_list」を作成し、許可ユーザ名を記入)


上層へのアクセス許可者の確認
# cat /etc/vsftpd/chroot_list
<ユーザ名>




この場合はユーザ「test」が上層へアクセスの許可があるということです


 


●接続許可ユーザーの指定

上記「/etc/vsftpd/vsftpd.conf」で「userlist_deny=NO」を追記しました。
これは「/etc/vsftpd.user_list」に記載のあるユーザのみ接続を許可されます。

# cp /etc/vsftpd.user_list /etc/vsftpd.user_list.old
(念のため。「cp」コマンドを使ってコピーを作ります)

# vi /etc/vsftpd.user_list


後は必要なユーザのみ追加します。
ファイルをアップしないユーザは接続できないようにする。
デフォルトでいくつか記載がありますが、全部削除して、追記をしています。
(いいのかなぁ〜まいいや)

許可ユーザが接続できるか確認してみましょう。


 


●「vsFTPd」の起動

# chkconfig vsftpd on

# chkconfig --list vsftpd

# /etc/init.d/vsftpd start



デーモンををONにして、起動させます。


 


●FFFTPで接続

これで、ファイルを転送する為のサーバが出来ました。
先にSSHサーバにて「秘密鍵」を作ったので、その「秘密鍵」をクライアントに転送します。

そして、「Tera Term Pro」 によるリモートアクセスをパスワード認証から
鍵認証にして、セキュリティを高くします。
(FFFTPは暗号化をしていないので、LAN内にしてください。外部からの
アクセスには使わないでください。)

FFFTP Support Pageから最新版をクライアントにダウンロードしてください。

各環境に合わせて、展開し立ち上げてください。

















ホストの設定画面で
ホストの設定名・・・・・・・・・・・・・何でもいいです。
ホスト名(アドレス)・・・・・・・・・・ご自身のサーバ名
ユーザ名・・・・・・・・・・・・・・・・・・ユーザ名
パスワード/パスフレーズ・・・・・パスワード

を入力して、「OK」をクリックしましょう。





「home/<ユーザ名>/.ssh」を見てみると先に作成した
id_rsa          秘密鍵
authorized_keys   公開鍵
があるのが分かります。





















画面左側・・・クライアント
画面右側・・・サーバ

画面右側にある秘密鍵「id_rsa」をそのままドラッグしてクライアントの
任意のフォルダに移します。
この場合はクライアントK\ffftpフォルダに移してあります。
サーバにある秘密鍵「id_rsa」は右クリックをして削除します。





















これで秘密鍵の移動が終わりましたので、次は「Tera Term Pro」の設定をします。「Tera Term Pro」が起動している場合は一度接続を切断しましょう。

先にSSHサーバ構築の際に「パスワードでのログインを禁止」していますので、
パスワード認証でのリモートアクセスはできません。
確認のためにパスワード認証にて、ログインをしてみてください。
きっとはじかれているはずです。


 


●秘密鍵によるリモートアクセス

まず「Tera Term Pro」を立ち上げましょう。


















設定 ⇒ SSH認証 をクリック














ユーザ名を入力。秘密鍵のあるフォルダを指定します。そして「OK」をクリック


















設定 ⇒ 設定の保存をクリックして、任意のフォルダに設定を保存します。
一度接続を切って接続しなおしてみて下さい。






















後は上記のように赤枠の箇所を入力してログインしてください。
 

自宅サーバ構築記事一覧

NTPサーバ構築

NTPとは「network time Protocol」は、UDPポートの123番を使用して、ネットワークに接続されている機器などが持つている時計を正しい時刻(標準時刻)へ...

SSHサーバ構築

SSHとは「Secure SHell」は、TCPポートの23番を使用して、ネットワークを通じてサーバなど他の機器にログインしたりコマンドを実行したりするリモートシェルのこと...

FTPサーバ構築

FTPとは「File Transfer Protocol」は、TCPポートの21番を使用して、ファイル転送するためのプロトコルです。実運用でもFTPはよく使われています...

MAILサーバ構築

「Postfix」「Dovecot」とは「Postfix」とはMTA(Message Transfer Agent)電子メールを転送するソフトウェアの一つです。送信...

webサーバ構築

apacheとはアパッチ(Apache HTTP Server)は、世界で最も使われているWebサーバソフトウェアの一つです。ホームページを公開する場合に使用します。 ...

webサーバ間通信暗号化

mod_sslとはSSL(Secure Sockets Layer)を実装するためのモジュール。SSL を実装することで、情報が暗号化されよりセキュアなwebサイトとなる。...

プロキシサーバ構築

SquidとはHTTPなどの通信を中継したりキャッシュしたりプロキシサーバソフト。キャッシュ機能があるので一度アクセスしたWebページをサーバ上に保存することで、次に同じW...