FTPとは

FTPとはFile Transfer Protocolの略で、ファイルを転送するためのプロトコル(規約)です。

以前の記事で紹介した「File Zilla」というソフトも、FTPをGUIで視覚的に分かりやすく実行できるようにしたものとなっています。

FTPは非推奨

FTPはセキュリティ面的に良くないとのことなので、通信の暗号化を取り入れたSFTP(SSH FTP)を利用した方が安全かと思います(MacでもFTPが廃止となっており、ターミナルでFTPコマンドは利用できません)。

サーバーのSFTP設定

SFTPを利用する場合、サーバー側もSFTPが有効になっていないと、SFTPを使ったファイル転送が行えません。

なので、サーバー側のSFTPを利用できるように設定を行います。

以前の記事で、エックスサーバーのSSH接続の方法を解説していますのでこちらを参考にしてみて下さい。

  • エックスサーバーのSSHの設定を有効にする。
  • ペアの鍵を作成して秘密鍵をローカルに保存する。

SFTPコマンド

SFTPコマンドを利用して、サーバーへ接続(対話モード)してみましょう。

cdコマンドで秘密鍵が格納されているディレクトリに移動します。

そして、以下のコマンドを入力します。

$ sftp -i 秘密鍵のファイル名.key -oPort="10022" ユーザ名@ホスト名

オプションの意味は以下となります。

-i秘密鍵のファイル名の指定
-oポート番号の指定
Enter passphrase for key '秘密鍵のファイル名':

パスフレーズを聞かれるので入力します。

こちらも入力した文字は表示されませんが、入力が済んだらEnterキーを押します。

Connected to ユーザ名@ホスト名.
sftp>

サーバーへの接続が成功すればこのように表示されます。

アップロードするパス(リモート)の指定

cdコマンドを使用します。

sftp> cd パス

リモートのカレントディレクトリのパスを確認する場合は、pwdコマンドを使用します。

sftp> pwd

ダウンロードするパス(ローカル)の指定

lcdコマンドを使用します。

sftp> lcd パス

ローカルのカレントディレクトリのパスを確認する場合は、lpwdコマンドを使用します。

sftp> lpwd

ファイルをアップロードする

ファイルをアップロードする場合は、putコマンドを使用します。

続けてアップロード対象のファイル名を指定します。

sftp> put ファイル名

サーバーの指定したカレントディレクトリにファイルがアップロードされました。

ファイルをダウンロードする

ファイルをダウンロードする場合は、getコマンドを使用します。

続けてダウンロード対象のファイル名を指定します。

sftp> get ファイル名

ローカルの指定したカレントディレクトリにファイルがダウンロードされました。

サーバーと切断する

「exit」と入力することで、サーバーと切断することができます。

sftp> exit

まとめ

ファイルを転送する方法について解説しました。

対話モードは、カレントディレクトリのパスを指定する際にTabキーで補完が効かないところを考えると、少し面倒な感じがしますね…

FTPクライアントソフトの方が断然効率が良さそうなので、自分の好みに合わせて使い分けると良いと思います。

更新日 : 2019年6月20日

投稿者: TWEI

趣味はプログラミング。 以前は仕事でプログラミングをやっていました。現在はWebエンジニアを目指して勉強中。 勉強で得た知識などをブログで発信していく予定です。

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA