メインコンテンツまでスキップ

SFTP接続(ファイルの移動)

コマンドラインでSFTP(ファイルのアップロード、ダウンロード)を行う方法について説明します。

SFTPとは?

SFTP(エスエフティーピー)は「SSH File Transfer Protocol」の略で、SSHの技術を利用してファイルを安全に転送するためのプロトコルです。SSHで確立された安全な接続上で動作するため、FTP(File Transfer Protocol)よりも高いセキュリティでファイルを送受信できます。

例えるなら、SSHが「安全な通路」で、SFTPはその「安全な通路」を使う「物を送受信するための郵便サービス」のようなものです。ウェブサイトのファイルをサーバーにアップロードしたり、サーバーからファイルをダウンロードしたりする際に利用します。

FTPによる接続について

夢中教室ではかつてFTPによるファイル転送を行っていましたが、特殊な方法がなければ絶対に行わないでください。SFTPはすべての通信内容を暗号化しますが、他方でFTPは通信の盗聴に脆弱であるだけでなく、サーバーの認証情報を漏洩させる危険性もあります。

必要なときだけ使ってください

SFTPによる手動のファイルアップロードによるWordPressのサイト更新は、コンフリクト(ファイル衝突)防止などの観点から極力行ってはいけません。

やむを得ない場合や、WordPressに関係のない部分を操作するときのみSFTPを使うのが望ましいです。

FTPクライアントの使用

このページでは、ターミナルを使用したSFTPの使用方法について説明しています。

エンジニアの方は、これらの内容はごく基礎的なものなので必ず理解してください。

それ以外の方は、FilezillaなどのFTPクライアントの使用も視野に入れてください。

SFTPで接続する

SFTPで接続するには、ターミナルで以下の形式のコマンドを入力します。

sftp ユーザー名@ホスト名またはIPアドレス

例:

sftp myuser@example.com

SSHと同様に、パスワードの入力を求められる場合があります。パスワードが正しければ、SFTPのプロンプト(例: sftp>)が表示され、ファイル転送コマンドを入力できる状態になります。

SFTPの基本的なコマンド

SFTPに接続した後、いくつかの基本的なコマンドを使ってファイルを操作できます。

ls: 接続先のディレクトリ(フォルダ)の内容を表示します。

ls

pwd: 接続先の現在の作業ディレクトリ(カレントディレクトリ)を表示します。

pwd

cd <ディレクトリ名>: 接続先のディレクトリを移動します。

cd public_html

lpwd: あなたのローカルコンピューター(現在操作しているコンピューター)の現在の作業ディレクトリを表示します。

lpwd

lcd <ローカルディレクトリ名>: あなたのローカルコンピューターのディレクトリを移動します。

lcd ~/Desktop/my_files

get <リモートファイル名>: 接続先のコンピューターからあなたのローカルコンピューターにファイルをダウンロードします。

get index.html

put <ローカルファイル名>: あなたのローカルコンピューターから接続先のコンピューターにファイルをアップロードします。

put my_image.jpg

exit: SFTPの接続を切断し、元のターミナルに戻ります。

exit

SFTPの使用例

あなたのPCにある my_website.html というファイルをサーバーの public_html ディレクトリにアップロードする場合の例です。

SFTPでサーバーに接続します。

sftp myuser@example.com

サーバー側の作業ディレクトリを public_html に移動します。

cd public_html

あなたのローカルPCの作業ディレクトリを my_website.html がある場所(例えばデスクトップ)に移動します。

lcd ~/Desktop

ファイルをアップロードします。

put my_website.html

SFTPの接続を切断します。

exit