标题说明了一切。我在 AWS 上为 Web 服务器设置了一个运行 Ubuntu 16.04 LTS 的 ec2 实例。在启用防火墙并打开 Web 访问(HTTP、FTP 等)所需的端口时,我没有想到要为用于连接服务器的 SSH 连接启用端口 22。当然,我无法通过 SSH 远程访问我的服务器来管理它,因为它现在被 UFW 阻止了。幸运的是,我仍然能够通过 FTP 连接,因此我可以访问所有系统文件。我有什么选择可以打开 UFW 上的端口 22?
答案1
如果你还没有做其他事情,就把实例删除,然后重做。这是最好、最简单、最快的解决方案。
Amazon 是否有实例恢复控制台?我似乎记得他们有。如果有,您可以将实例重新启动到救援模式,然后chroot
进入该模式,并以此方式更改 UFW 设置。
你可能还可以上传替换sshd_config
并移动 sshd 以监听端口 80。
然后上传一个 httpd 配置,将其监听端口更改为 8080。
然后重新启动,并在端口 80 上进行 ssh。
答案2
您可以创建一个替代的 ssh 配置文件并更改端口号,以便它侦听默认打开的端口,然后使用 ftp 上传并重新启动 Ubuntu 实例。这将导致 ssh 侦听该端口,然后您可以更改 ufw 设置,以便 ssh 可以在端口 22 中工作。