加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 阻止SSH访问从AWS AMI启动的实例

发布时间:2020-12-14 02:27:59 所属栏目:Linux 来源:网络整理
导读:我们正在尝试制作一个安全的AMI,以便分发给我们的一个客户(运行 Linux / CoreOS).一旦我们的客户部署了我们的AMI,重要的是他们无法获得shell访问权限(例如,无法通过SSH访问). 从表面上看,这似乎是一个非常简单的问题:只需确保我们的密钥只在authorized_keys
我们正在尝试制作一个安全的AMI,以便分发给我们的一个客户(运行 Linux / CoreOS).一旦我们的客户部署了我们的AMI,重要的是他们无法获得shell访问权限(例如,无法通过SSH访问).

从表面上看,这似乎是一个非常简单的问题:只需确保我们的密钥只在authorized_keys文件中.但是,当我们的客户部署我们的AMI时,他们被迫提供自己的密钥对,然后将相关的公钥插入到盒子上的authorized_keys文件中,使他们能够通过SSH进入该框.

我知道亚马逊通过HTTP在169.254.169.254(信息在这里:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)将公钥可访问(和用户元数据)到主机操作系统.互联网和CoreOS文件系统周围的一些调查表明,/usr/bin/coreos-metadata实际上访问了这个IP,大概是为了密钥对,但是我无法弄清楚实际上是什么启动了可执行文件或如何禁用它.我甚至考虑过删除可执行权限或完全删除它,但文件系统的那部分在CoreOS上是只读的(甚至是root用户).

显然,上述行为胜过我们采取的任何安全措施.我们能做些什么来防止这种情况发生吗?

解决方法

cloud-init正在这样做.禁止sshd运行(部分AMI版本),然后运行脚本代码,将您的密钥放在登录用户下(建议使用另一个),启动ssh.我还建议使用不同的端口号作为确认您工作正常的简单方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读