【问题标题】:How do I connect to my ec2 instance using Cyberduck with privileges?如何使用具有特权的 Cyber​​duck 连接到我的 ec2 实例?
【发布时间】:2013-02-04 23:34:08
【问题描述】:

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

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

【问题讨论】:

    标签: macos permissions amazon-ec2 sftp cyberduck


    【解决方案1】:

    我认为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 客户端。

    【讨论】:

    • 所以我认为第一个选项行不通。我得到的只是权限被拒绝(公钥)。我想知道这是否是因为我正在使用可能需要密钥对的 ec2 亚马逊实例。我不打算使用这两个选项。
    猜你喜欢
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多