我需要共享一个ami,以便客户端可以通过自己的帐户创建自己的实例。但是,我不希望客户端能够ssh到实例。我需要能够ssh到实例中才能维护它。他们只有ftp和www访问权限。我有ftp和www访问部分通过ssh配置工作。当他们使用自己的密钥对启动实例时,如何让他们远离ssh?
答案 0 :(得分:0)
好吧,如果他们决定进入,你就不能真的阻止这一点,因为他们控制了实例。
停止实例→卸载根EBS卷→安装在别处→修改内容→卸载→重新安装→重启→pwn3d。
但是,根据the documentation,如果您没有将AMI配置为加载他们的公钥,那么它只是位于那里并且实际上并不适用于它们。
Amazon EC2允许用户在启动实例时指定公钥 - 私钥对名称。当为RunInstances API调用(或通过命令行API工具)提供有效的密钥对名称时,将生成公钥(在调用CreateKeyPair或ImportKeyPair之后,Amazon EC2在服务器上保留的密钥对部分)通过针对实例元数据的HTTP查询提供给实例。
要通过SSH登录,您的AMI必须在启动时检索密钥值并将其附加到/root/.ssh/authorized_keys(或AMI上任何其他用户帐户的等效项)。用户可以使用密钥对启动AMI实例,并且无需root密码即可登录。
如果你没有获取密钥并附加它,如上所述,它们的密钥(仅仅是因为被“分配”给实例)实际上并不会给予他们对实例的任何访问权。 / p>
答案 1 :(得分:0)
通过使用这个过程,我终于完成了这个疯狂的任务:
1)以ubuntu身份登录 2)创建用户,属于sudo和admin组 3)在newuser下安装我的所有s / w 4)验证新用户是否具有所有必需的权限 5)chroot jail ubuntu用户只能访问ftp
当ami传输到新区域/帐户时,ubuntu用户作为sudoer存在,但不能ssh进入实例。 Ftp允许他们连接到系统,但他们查看一个裸目录,不能在系统中的任何其他位置cd。
这不是完全拒绝,但我认为它将为此客户服务。