ec2-user を使用してログインしようとしましたが、何らかの理由でログインに失敗しました:
ユーザー名: ubuntu を使用すると、問題なくログインできますが、権限がなく、ファイルに書き込む権限に対して sudo su を実行することはできません。Cyberduck ターミナルと send コマンド オプションを使用してみましたが、sudo su は機能しません。Cyberduck は回転するだけです。
ec2-user を使用してログインしようとしましたが、何らかの理由でログインに失敗しました:
ユーザー名: ubuntu を使用すると、問題なくログインできますが、権限がなく、ファイルに書き込む権限に対して sudo su を実行することはできません。Cyberduck ターミナルと send コマンド オプションを使用してみましたが、sudo su は機能しません。Cyberduck は回転するだけです。
ec2-user
このアカウントは最近の Ubuntu AMI では機能しないと思います。これがログインの失敗を説明している可能性があります。
これにはいくつかの方法があります。1 つ目は、FTP 専用の新しいユーザー アカウントを作成し、必要なフォルダーのみにアクセス許可を与えることです。最初にユーザーを作成してから、非対話型ログイン用の公開鍵と秘密鍵のペアを作成します。これにより、FTP クライアントを通常どおりに操作できるようになります。
私の推奨する解決策は、ファイルをホーム ディレクトリにアップロードしてから、ubuntu
ファイルを正しい場所に移動するスクリプトをルートとして実行することです。この方法でシステム構成を変更する必要はありませんが、ファイル転送は 2 つの手順で行う必要があります。
にステージング フォルダーを作成し、/home/ubuntu
そこにファイルをコピーします。/home/ubuntu/copy.sh
次のようにサーバー上にスクリプトを作成します。
#!/bin/bash
sudo su #this will only work if sudo doesn't prompt for a password
cp -r /home/ubuntu/stage/* /var/www/html/
次に、開発マシンからスクリプトを呼び出します。
$ ssh -i ~/path/to/key.pem ubuntu@ec2.hostname.com /home/ubuntu/copy.sh
より凝ったものにしたい場合は、git リポジトリーをセットアップし、プッシュ時にpost-receive フックを使用してこれをすべて処理することができます。FTP クライアントはまったく必要ありません。