技術ノート ハードウェア Linux で FTP コマンドを使用する方法

Linux で FTP コマンドを使用する方法

重要なポイント

  • FTP はセキュリティ対策が施されていない時代遅れのプロトコルであるため、インターネット上で使用するのは安全ではありません。信頼されたローカル ネットワーク内でのファイル転送にのみ使用してください。
  • FTP を使用する場合は、ログイン認証情報と転送されるデータがクリア テキストで送信されることに注意してください。
  • インターネット上で安全にファイルを転送するには、SSH ファイル転送プロトコルを利用し、機密情報を保護するための暗号化を提供する sftp コマンド ライン プログラムを使用します。

ファイル転送プロトコルは、ほとんどの読者よりも古いものですが、依然として強力です。 FTP には最新のプロトコルのようなセキュリティはありませんが、それでも使用する必要がある場合があります。その方法は次のとおりです。

警告: インターネット上で FTP を使用しないでください

最初からこれを明確にしておきます。ファイル転送プロトコル (FTP) は 1970 年代初頭に遡り、セキュリティをまったく考慮せずに作成されました。 暗号化 は一切使用されません。ユーザー名やパスワードなどのログイン資格情報、およびダウンロードまたはアップロードしたデータはクリア テキストで転送されます。途中で誰でもあなたの秘密を閲覧できます。ただし、FTP にはまだ用途があります。

ネットワーク内でファイルを転送する場合、ネットワーク上の誰も転送中に機密文書をパケットスニッフィングしたり盗聴したりしない限り、安全であるはずです。ファイルが機密性や機密性をまったく持たない場合は、FTP を使用して内部ネットワーク内でファイルを移動しても問題ありません。 Linux には、まさにそのようなシナリオに対処する標準の ftp コマンド ライン プログラム があります。

ただし、インターネット経由で外部リソースにアクセスするために ftp コマンドを使用しないでください。そのためには、安全な SSH ファイル転送プロトコルを使用する sftp コマンド ライン プログラム を使用します。このチュートリアルでは、これらのプログラムの両方を紹介します。

インターネット上で FTP を使用したくない理由を明確にするために、以下のスクリーンショットを見てください。 FTPパスワードを平文で表示します。ネットワーク上、またはインターネット上の FTP サーバーとの間の誰でも、パスワードが「MySecretPassword」であることを簡単に知ることができます。

暗号化がないと、悪意のある攻撃者が転送中にダウンロードまたはアップロードしているファイルを変更する可能性があります。

Linux で FTP コマンドを使用する方法

ftp コマンドの使用方法

FTP サイトに有効なアカウントがある場合は、次のコマンドを使用して接続できます。この記事では、コマンド内の IP アドレスを、接続している FTP サーバーの IP アドレスに置き換えてください。

 ftp 192.168.4.25

ftp コマンドは、信頼できるローカル ネットワーク上のサーバーに接続する場合にのみ使用してください。インターネット経由でファイルを転送するには、以下で説明する sftp コマンドを使用します。

「 Linux で FTP コマンドを使用する方法」に関するベスト動画選定!

FTPの使い方。PUTとGETを完全理解
Linuxコマンドをこっそり練習する方法㊙

FTP サーバーはウェルカム メッセージで応答します。挨拶の文言はサーバーごとに異なります。次に、ログインしているアカウントのユーザー名を求められます。

接続しているサイトの IP アドレスの後に Linux ユーザー名が表示されていることに注目してください。 FTP サーバー上のアカウント名が Linux ユーザー名と同じ場合は、Enter キーを押すだけです。これにより、Linux ユーザー名が FTP サーバー上のアカウント名として使用されます。 Linux ユーザー名と FTP アカウント名が異なる場合は、FTP アカウントのユーザー名を入力して Enter キーを押します。

Linux で FTP コマンドを使用する方法

FTPサーバーへのログイン

FTP サイトのパスワードを入力するよう求められます。パスワードを入力して Enter を押します。パスワードは画面に表示されません。 FTP ユーザー アカウント名とパスワードの組み合わせが FTP サーバーによって検証されると、FTP サーバーにログインできます。

ftp> プロンプトが表示されます。

Linux で FTP コマンドを使用する方法

周りを見回してファイルを取得する

まず、FTP サーバー上のファイルのリストを取得する必要があるでしょう。 ls コマンドはまさにそれを行います。ユーザーは、FTP サーバー上に gc.c ファイルがあることを確認し、それを自分のコンピュータにダウンロードしたいと考えています。彼のコンピュータは、FTP 用語での「ローカル コンピュータ」です。

ファイルを取得 (または「取得」) するコマンドは get です。したがって、ユーザーは get gc.c コマンドを発行します。 get とスペースを入力し、取得するファイルの名前を入力します。

FTP サーバーは、ファイルをローカル コンピュータに転送し、転送が行われたことを確認することで応答します。ファイルのサイズと転送にかかった時間も表示されます。

 ls

 gc.cを取得する

複数のファイルを一度に取得するには、 mget (複数取得) コマンドを使用します。 mget コマンドを実行すると、各ファイルを順番にダウンロードするかどうかを確認するメッセージが表示されます。はいの場合は「y」を、いいえの場合は「n」を押して応答してください。

ファイル数が多い場合、これは面倒です。このため、関連ファイルのコレクションは通常、単一の として FTP サイトに保存されます。

 mget *.c 

Linux で FTP コマンドを使用する方法

FTPサーバーへのファイルのアップロード

FTP アカウントに付与されているアクセス許可によっては、ファイルをサーバーにアップロード (または「配置」) できる場合があります。ファイルをアップロードするには、 put コマンドを使用します。この例では、ユーザーは Songs.tar.gz というファイルを FTP サーバーにアップロードしています。

 Songs.tar.gz を置く

おそらくご想像のとおり、複数のファイルを一度に FTP サーバーに置くコマンドがあります。これを mput (マルチプルプット)といいます。 mget コマンドと同様に、 mput 各ファイルのアップロードについて「y」または「n」の確認を 1 つずつ要求します。

ファイルのセットを tar アーカイブに配置する場合と同じ議論が、ファイルを取得する場合と同様にファイルの配置にも当てはまります。ユーザーは次のコマンドを使用して複数の「.odt」ファイルをアップロードしています。

入力 *.odt 

Linux で FTP コマンドを使用する方法

FTPを使用したディレクトリの作成と変更

FTP サーバー上のユーザー アカウントが許可している場合は、ディレクトリを作成できる可能性があります。これを行うコマンドは mkdir です。明確にしておきますが、 mkdir コマンドで作成したディレクトリはローカル コンピュータではなく FTP サーバー上に作成されます。

FTP サーバー上のディレクトリを変更するには、 cd コマンドを使用します。 cd コマンドを使用する場合、 ftp> プロンプトは新しい現在のディレクトリを反映するように変更されません。 pwd (print working directory) コマンドを実行すると、現在のディレクトリが表示されます。

FTP ユーザーは、music というディレクトリを作成し、その新しいディレクトリに移動し、 pwd コマンドを使用して場所を確認してから、そのディレクトリにファイルをアップロードします。

 mkdir音楽

CD音楽

障害者

songs.tar.gzを入れる

現在のディレクトリの親ディレクトリにすぐに移動するには、 cdup コマンドを使用します。

 cdup 

Linux で FTP コマンドを使用する方法

FTPでローカルコンピュータにアクセスする

ローカル コンピューター上のディレクトリを変更するには、 ftp> プロンプトで lcd コマンドを使用します。ただし、ローカル ファイル システムのどこにいるのかを見失いやすくなります。ローカル ファイルシステムにアクセスするより便利な方法は ! 指示。

! コマンドは、ローカル コンピューターのシェル ウィンドウを開きます。このシェルでは、標準のターミナル ウィンドウで実行できることはすべて実行できます。 exit と入力すると、 ftp> プロンプトに戻ります。

私たちのユーザーは ! コマンドを実行し、ローカル コンピューター上のシェル ウィンドウに入ります。彼らは ls コマンドを発行してそのディレクトリにどのようなファイルが存在するかを確認し、 exit と入力して ftp> プロンプトに戻りました。

 ls

出口

FTPでファイルの名前を変更する

FTP サーバー上のファイルの名前を変更するには、 rename コマンドを使用します。ここでは、FTP ユーザーが rename でファイルの名前を変更し、 ls コマンドを使用してディレクトリ内のファイルを一覧表示します。

 songs.tar.gzの名前を変更しますrock_songs.tar.gz

 ls

FTPを使用したファイルの削除

FTP サーバー上のファイルを削除するには、 delete コマンドを使用します。複数のファイルを一度に削除するには、 mdelete コマンドを使用します。各ファイルを削除する場合は、「y」または「n」の確認を求められます。

ここでは、FTP ユーザーがファイルをリストして名前を確認し、削除するファイルを選択しています。その後、それらをすべて削除することを決定します。

 ls

 gc.o を削除する

mdelete *.o

sftpコマンドの使用

IP アドレス指定システムに詳しい読者は、上記の例で使用されている FTP サーバーの 192.168 アドレスが内部 IP アドレス (プライベート IP アドレスとも呼ばれる) であることに気づいたでしょう。この記事の冒頭で警告したように、 ftp コマンドは内部ネットワークでのみ使用してください。

リモートまたはパブリック FTP サーバーに接続する場合は、 sftp コマンドを使用します。ユーザーは、 test.trebex.net にある公的にアクセス可能な FTP サーバー上の、 demo という名前の SFTP アカウントに接続します。

接続すると、接続が確立されたことが通知されます。また、ホストの信頼性を検証できないことも通知されます。これは、新しいホストへの最初の接続では正常です。 「y」を押して接続を受け入れます。

ユーザー アカウント名 ( demo ) がコマンド ラインで渡されたため、ユーザー アカウント名の入力を求められません。パスワードの入力のみを求められます。これが入力、検証されて受け入れられると、 sftp> プロンプトが表示されます。

 sftp デモ@test.rebex.net

上で説明した FTP コマンドは、次の例外を除いて、SFTP セッションでも同様に機能します。

  • ファイルを削除するには、 rm 使用します (FTP は delete 使用します)。
  • 複数のファイルを削除するには、 rm 使用します (FTP は mdelete 使用します)。
  • 親ディレクトリに移動するには、 cd .. 使用します (FTP は cdup を使用します)。

ユーザーは SFTP セッションでいくつかのコマンドを使用しました。 ls を使用してファイルをリストし、 cd 使用して pub ディレクトリに移動します。彼らは pwd を使用して作業ディレクトリを出力しました。

Linux の世界にはファイルを転送するための他のオプション、特に scp ( セキュア コピー ) がありますが、ここでは FTP と SFTP に焦点を当てました。該当するシナリオで使用されるこれら 2 つのコマンドは、ファイルの保存と取得のニーズに適切に対応します。

Linuxコマンド

ファイル

tar pv cat tac chmod grep diff sed ar man pushd popd fsck testdisk seq fd pandoc cd $PATH awk join jq fold uniq journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · パッチ · 変換 · rclone · シュレッド · srm · scp · gzip · chattr · カット · 検索 · umask · wc · tr

プロセス

エイリアス · スクリーン · トップ · ナイス · renice · 進行状況 · strace · systemd · tmux · chsh · 履歴 · at · バッチ · フリー · what · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · タイムアウト · ウォール · はい · キル · スリープ · sudo · su · タイム · groupadd · usermod · グループ · lshw · シャットダウン · 再起動 · 停止 · パワーオフ · パスワッド · lscpu · crontab · 日付 · bg · fg · pidof · nohup · pmap

ネットワーキング

netstat ping ip ss whois fail2ban bmon dig finger nmap ftp curl wget who whoami w iptables ssh-keygen ufw arping firewalld