我尝试使用EC2,用户能够登录,但由于某种原因登录失败:如何使用具有权限的Cyberduck连接到我的ec2实例?
使用用户名:Ubuntu的我能登录就好了,但是,我没有任何特权而且我不能sudo su写入我的文件的权限。我尝试使用cyberduck终端并发送命令选项,但sudo su不适用于它们。 Cyberduck正在旋转。
我尝试使用EC2,用户能够登录,但由于某种原因登录失败:如何使用具有权限的Cyberduck连接到我的ec2实例?
使用用户名:Ubuntu的我能登录就好了,但是,我没有任何特权而且我不能sudo su写入我的文件的权限。我尝试使用cyberduck终端并发送命令选项,但sudo su不适用于它们。 Cyberduck正在旋转。
我认为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客户端。
所以我不认为第一个选项的工作。我所得到的是一个被拒绝的权限(公钥)。我想知道这是否是因为我正在使用可能需要密钥对的ec2 amazon实例。我不打算使用这两种选择。 – 2013-02-22 01:13:30