2013-02-20 103 views
3

我尝试使用EC2,用户能够登录,但由于某种原因登录失败:如何使用具有权限的Cyber​​duck连接到我的ec2实例?

使用用户名:Ubuntu的我能登录就好了,但是,我没有任何特权而且我不能sudo su写入我的文件的权限。我尝试使用cyberduck终端并发送命令选项,但sudo su不适用于它们。 Cyber​​duck正在旋转。

回答

0

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

您可以通过几种方法来解决这个问题。首先是为FTP创建一个新的用户帐户,并仅为必要的文件夹授予权限。首先是create the user,然后create a public/private key pair用于非交互式登录。这将允许您像正常一样操作您的FTP客户端。

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

/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 [email protected] /home/ubuntu/copy.sh 

如果你想获得真正看中的,你可以建立一个Git仓库和在推动时使用post-receive hook来处理这一切。根本不需要FTP客户端。

+0

所以我不认为第一个选项的工作。我所得到的是一个被拒绝的权限(公钥)。我想知道这是否是因为我正在使用可能需要密钥对的ec2 amazon实例。我不打算使用这两种选择。 – 2013-02-22 01:13:30