【发布时间】:2014-10-16 15:27:09
【问题描述】:
问题:如何在使用 Amazon 安全组和使用 Chef 进行预置时允许非标准端口上的入站 SSH 流量?
Amazon EC2:通过将此规则添加到安全组,允许端口 999 而不是 22 上的入站 ssh 流量。
Custom TCP Rule Port Range: 999
Chef:创建一个新服务器,通过以下方式访问非标准端口上的 ssh:
knife ec2 server create .... -p 999 ....
Ubuntu:通过编辑 /etc/ssh/sshd_config 允许在非标准端口上进行 ssh 访问
Port 999
够简单吗?为什么它不起作用?
当使用knife ec2 server create ... -p 999 ... 时,实例会创建。但是它挂在“等待 sshd ...”上。最终那个错误出来了。使用ssh -p 999 username@ip-address 或ssh -p 22 username@ip-address 时,该实例不可用。
【问题讨论】:
-
“为什么它不起作用?”是什么意思?你得到什么样的错误?调试输出?你是如何运行命令的?用这么少的信息很难回答这个问题……
-
@sethvargo 添加了额外的失败细节。基本上死在 Waiting for sshd..
-
这是一个 catch-22(双关语)。您将 SSH 端口设置为 999 并将 EC2 实例配置为执行相同的操作,但您使用的基础盒在端口 22 上配置了 SSHD。这听起来像是 EC2 方面的问题,因为我不确定如何Chef 可以帮助您,因为它只是使用 EC2 API 来制作实例......
-
不幸的是,这就是我的想法。 EC2 不允许您更改安全组,只能更改规则。因此,即使您在安全组中的 22 开始使用 SSH,然后在配置后更改为 999,您也必须手动将 22 重新添加到每个新实例的安全组,或者为每个实例创建一个新的安全组。呸。希望我错了,其他人有比这更好的主意。
标签: linux amazon-web-services ssh amazon-ec2 chef-infra