如何使用具有权限的Cyber​​duck连接到我的ec2实例?

时间:2013-02-20 03:36:02

标签: macos permissions amazon-ec2 sftp cyberduck

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

使用用户名:ubuntu我能够正常登录,但是,我没有任何权限,我不能sudo su为写入我的文件的权限。我尝试使用cyberduck终端并发送命令选项,但sudo su不能使用它们。 Cyber​​duck刚刚旋转。

1 个答案:

答案 0 :(得分:0)

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

您可以通过几种方式解决此问题。第一种是专门为FTP创建一个新的用户帐户,并仅向必要的文件夹授予权限。首先create the user,然后create a public/private key pair进行非交互式登录。这将允许您像平常一样操作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 hook来处理这一切。根本不需要FTP客户端。