我无法通过 ssh 访问 Amazon EC2 实例,因为我在防火墙后面。所以,我想在 22 以外的端口上运行 ssh,比如 80 或 443。
我尝试使用以下“用户数据”通过 Web 管理控制台启动 Amazon EC2 实例:
#!/bin/bash -ex
perl -pi -e 's/^#?Port 22$/Port 80/' /etc/ssh/sshd_config
service sshd restart || service ssh restart
想法是上述脚本将在实例启动时执行并将 ssh 从端口 22 切换到端口 80。(参考:http ://alestic.com/2010/12/ec2-ssh-port-80 )
但是 ssh 仍然无法在端口 80 上访问。显然“用户数据”脚本在启动时没有被执行?
我只能通过 Web 管理控制台启动停止实例,而不是从命令行(位于防火墙后面)
有任何想法吗?