4

ec2-user を使用してログインしようとしましたが、何らかの理由でログインに失敗しました:

ユーザー名: ubuntu を使用すると、問題なくログインできますが、権限がなく、ファイルに書き込む権限に対して sudo su を実行することはできません。Cyber​​duck ターミナルと send コマンド オプションを使用してみましたが、sudo su は機能しません。Cyber​​duck は回転するだけです。

4

1 に答える 1

0

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 クライアントはまったく必要ありません。

于 2013-02-20T16:51:23.210 に答える