Amimoto AMI で作成したインスタンスへ ec2-user で SFTP 接続をする方法

SFTP クライアントソフトを使用して網元でインスタンスに接続するには SFTP 接続が可能なアプリケーション(クライアントソフト)とインスタンスに結びついた秘密鍵(.pem)が必要です。

ec2-user でもインスタンスへの接続は可能ですが、WordPress のファイルが置かれたディレクトリ /var/www/vhosts は Web サーバの実行ユーザ nginx が所有者となっており、SFTP クライアント等で直接ファイルをアップロードする事はできません。

ec2-user でも Nginx と PHP-FPM(もしくは HHVM)が動作するようにし、Web サーバの実行ユーザを変更します。
 

Run HTTPD as ec2-user の実行(インスタンス作成後1回のみ)

まず、SSH で サーバー(インスタンス)にログインします。
実行するコマンドを以下に紹介しますが、先頭の $ を入力する必要はありません。

$ ssh -i {鍵ファイル保存場所のパス}xxxx.pem ec2-user@{インスタンスのIPアドレス}

インスタンスにログイン後に以下のコマンドを実行してください。

$ curl -L https://raw.githubusercontent.com/amimoto-ami/run-httpd-as-ec2-user/master/run-httpd-as-ec2-user.sh | sudo bash

 

SFTPクライアントソフトで接続する

接続サーバーなどの設定は

  • サーバ:インスタンスのIPアドレス または ホスト名
  • ユーザ名:ec2-user
  • 認証方法: 鍵認証 (秘密鍵)
  • パス:/var/www/vhosts/{インスタンス名 (任意)}
  • 接続方法(ポート):SFTP (22)

となります。

SFTP 接続が可能なクライアントソフトの一例として

があげられます。

 

設定例

Cyberduck の設定例をご案内します。

以下のキャプチャ画像をご参照いただき、サーバ情報を入力し「公開鍵認証を使用する」にチェックを入れると秘密鍵(.pem や id_rsa.aサーバ番号)を選択できます。

  • Nickname: 設定名です。分かりやすいものを付けてください
  • Server: 接続先サーバ名です。 ドメイン名または IP アドレスを入力してください。
  • Port: 22 を入力してください
  • Username: ec2-user と入力してください
  • Path: 任意です。設定する場合は /var/www/vhosts/ドメイン名 としてください
  • Use Public Key Authentication: チェックを入れて、.pem で終わる秘密鍵などの秘密鍵を選択してください。