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

前端之家收集整理的这篇文章主要介绍了linux – 阻止SSH访问从AWS AMI启动的实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们正在尝试制作一个安全的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.我还建议使用不同的端口号作为确认您工作正常的简单方法.

猜你在找的Linux相关文章