Jas*_*per 13 cloud ssh amazon-ec2
我无法通过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
Run Code Online (Sandbox Code Playgroud)
这个想法是上面的脚本将在实例启动时执行并将ssh从端口22切换到端口80.(参考:http://alestic.com/2010/12/ec2-ssh-port-80)
但是仍然无法在端口80上访问ssh.显然,"用户数据"脚本在启动时没有被执行?
我只能"通过Web管理控制台"启动停止实例,而不是从命令行启动停止实例(在防火墙后面)
有任何想法吗?
gug*_*gol 16
要通过ssh从不同于默认值22的端口连接到AWS实例:
在你的实例中:
#!/bin/bash -ex
perl -pi -e 's/^#?Port 22$/Port 443/' /etc/ssh/sshd_config
service sshd restart || service ssh restart
请注意,这仅在您启动新实例时才有效:
用户数据脚本和cloud-init指令仅在启动实例的第一个引导周期内运行.
/etc/ssh/sshd_config文件添加/更改Port 22到您想要的端口(即Port 443:)通过ssh连接然后执行service ssh restart,您应该完成.注意:我使用Ubuntu实例执行此操作,其他Linux实例可能略有不同.
Jen*_*ens 10
亚马逊防火墙阻止除22之外的所有端口.首先必须启用端口80/443 /无论如何.
HOWTO:转到"安全组" - >单击您为实例选择的组,然后单击"入站"选项卡.
在那里你可以添加你的端口.
编辑:如果您偶然也安装了apache或其他一些网络服务器,将使用端口80,sshd无法使用.我不知道您的服务器上安装了哪个操作系统,但是可能已经包含了一些Web服务器?
| 归档时间: |
|
| 查看次数: |
19333 次 |
| 最近记录: |