4

我尝试使用 ec2-user 登录,但由于某种原因登录失败:

使用用户名:ubuntu 我可以很好地登录,但是,我没有任何权限,我不能 sudo su 获得写入文件的权限。我尝试使用 cyberduck 终端并发送命令选项,但 sudo su 不适用于它们。Cyber​​duck 只是旋转。

4

1 回答 1

0

我认为该ec2-user帐户不适用于最近的 Ubuntu AMI,这可能解释了登录失败。

你可以通过几种方式来解决这个问题。第一种是专门为 FTP 创建一个新用户帐户,并仅授予它对必要文件夹的权限。首先创建用户,然后为非交互式登录创建一个公钥/私钥对。这将允许您像平常一样操作您的 FTP 客户端。

首选的解决方案是将文件上传到ubuntu主目录,然后以 root 身份运行脚本,将文件移动到正确的位置。您不必以这种方式修改系统配置,但您必须分两步进行文件传输。

在其中创建一个暂存文件夹/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 回答