0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【FTP】WindowsのローカルからLinuxの仮想マシンへFTPでファイル転送

Posted at

こんにちは。
業務アプリの運用保守をしている社会人4年目のSEです。

最近業務でよく”FTP”という単語を聞くようになりました。
今回自分の環境でFTP通信をやってみて勉強しようと思います。
アウトプットと備忘も兼ねてQiita初投稿です!(^^)!

0.環境情報

名前 説明
クライアント側 Windows10
サーバー側 Linux CentOS 7(Oracle VirtualBoxで立てた仮想マシン)

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

まずはLinux側でFTP通信を受け付ける“受付窓口”をつくります。

qiita.rb
sudo yum install -y vsftpd

2.vsftpd を起動&自動起動設定

次にインストールしたFTPサーバを起動しておきます。

qiita.rb
sudo systemctl start vsftpd
sudo systemctl enable vsftpd

3.FirewallでFTPポート(21番)を許可

FTPでは21番ポートを利用します。

※厳密には制御用コネクションで21番ポート、データ転送用のコネクションで20番ポートを利用します。FTPは制御用と、転送用の2本で接続するらしいです。
別にする理由は、ファイル転送中にキャンセルなどをする際に、制御用からキャンセルさせる事ができ、使い勝手がいいそう。(あまりピンとは来ないが一旦受け入れる・・)

qiita.rb
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload

4.SELinuxの設定(必要な場合)

CentOS 7 ではSELinuxの制限でFTPが使えないことがあるぽいです。
次のコマンドで許可しておきます。

qiita.rb
sudo setsebool -P ftpd_full_access on

5.FTP用のユーザーを作成(例:ftpuser)

クライアント側からFTP接続する時用に、ログインユーザを作っておきます。
名前は任意で適当に。

qiita.rb
sudo useradd ftpuser
sudo passwd ftpuser

ホームディレクトリにファイルを置けるようにします(任意)

qiita.rb
sudo mkdir /home/ftpuser/ftpfiles
sudo chown ftpuser:ftpuser /home/ftpuser/ftpfiles

6.vsftpd設定ファイルの編集(必要に応じて)

お好みで、設定ファイルをいじっておきます。

設定ファイルの場所:

qiita.rb
/etc/vsftpd/vsftpd.conf

最小限の設定変更例:

qiita.rb
anonymous_enable=NO      # 匿名ログインを禁止
local_enable=YES         # ローカルユーザーのログインを許可
write_enable=YES         # 書き込みを許可
chroot_local_user=YES    # ユーザーをホームディレクトリに閉じ込める

編集後は保存して、vsftpdを再起動:

qiita.rb
sudo systemctl restart vsftpd

サーバのコマンドライン上でファイルを編集するには、
viやvimなどを使ってみましょう。
↓適用に「vi」で検索したらヒットしたので記事貼っておきます。

7.Windowsからアクセス

LinuxのIPアドレスを確認します。

qiita.rb
ip addr

ただし、VirtualBoxで仮想マシンを起動すると、デフォルトではNAT接続になっていて、この場合 WindowsからはこのIPに直接アクセスできないようでした。

そこで、chatGPTに聞いてみると、ホストオンリーアダプターへ切り替えたらいいとのことです。

▼手順
①VirtualBoxの仮想マシンをシャットダウンする
②VirtualBoxマネージャーでその仮想マシンを選択 → 設定 → [ネットワーク]
③「アダプター2」を有効にする(チェック入れる)
④「割り当て(接続先)」で、「ホストオンリーアダプター」 を選択
⑤「OK」で設定を保存し、仮想マシンを起動して、再度 ip addr を実行
⑥192.168.xx.xx のような別のIPアドレスが表示されるはず
→ それをWindowsから使って ftp://192.168.xx.xx でアクセスできます。

Windowsコマンドプロンプトでpingテストします。
※IPアドレスは自分のものに書き換えてください。以下はあくまで例。

qiita.rb
ping 192.168.56.101

8.FTP接続を試みる

OKなら、FTP接続してみましょう。

qiita.rb
ftp 192.168.56.101

作成したftpuserでログイン。
するとログイン成功と出てきます。

image.png

アップロード元のディレクトリを確認・変更(必要に応じて):

qiita.rb
lcd C:\Users\YourName\Desktop

9.いざ。PUT!

ついに!PUTします!(今回は用意したテスト用のテキストファイルを送ってみます)

qiita.rb
put ftptest.txt

結果・・・。

無事転送成功しました~~!

↓クライアント側のコマンドプロンプト
image.png

↓サーバ側のターミナル
image.png

今後少しずつ遊んでみてFTPについてはもう少し学んでみようかなーとおもいます。
何事もまず触ってみるべし!(^^)!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?