从公共Wifi连接到AWS EC2-VPC时很难

我有一个运行在AWS VPC(免费层)上的EC2实例,在其上运行一个网站。

我还使用RDS MySQL数据库实例来满足我的数据库需求,并设置了安全组以允许以下操作:

EC2安全组 – 入站:

  • 允许通过端口80访问所有HTTPstream量
  • 允许访问来自2个IP地址的SSHstream量,我通常通过端口22来访问
  • 允许通过端口3306访问所有MySQLstream量

EC2安全组 – 出站:

  • 允许访问所有端口的所有stream量

RDS安全组 – 入站:

  • 允许通过端口3306从我的EC2安全组访问MySQLstream量

RDS安全组 – 出站:

  • 允许访问所有端口的所有stream量

通常,当我在安全组中提到的两个IP之外时,我在EC2实例的默认安全组中创build了一个新的入站规则,允许通过端口22从我当前所在的IP进行SSH访问。

今天,出于某种奇怪的原因,我无法通过SSH连接到EC2实例。 我正试图从我坐在咖啡厅的公共WiFi上。 试过各种方法 – PuTTY,Sublime SFTP,Filezilla。 纳达。

我很想知道2件事情,真的:

  1. 我究竟做错了什么? 如何避免这种持续处理AWS中的安全组?
  2. 我现在无法连接的原因是什么?

重要说明:EC2实例已启动,可以通过HTTP通过端口80访问 – 这意味着我可以访问我设置的站点的URL,而且所有内容都是hunky-dory。 清除caching – 仍然完美加载。

通过限制你的ssh可达性,你有正确的想法 – 但你可能会采取太多的。

你可以将你的SSH规则打开到任何地方(0.0.0.0),但是有一些限制来提供一些安全性

几个很好的技巧来保护您的SSH:

  1. 更改默认的SSH端口 – 这将甩掉所有在22端口上浏览互联网的扫描器机器人。这绝不是一种安全措施,而只是一种减less扫描器滥用的工具。
  2. 只允许公钥authentication – 这将首先杀死任何蛮力企图
  3. 添加两步validation – 如果您希望能够从没有私钥的“访客”计算机进行连接,则需要为任何启用密码的用户提供额外的代码。

这将是一个很好的开始,将消除对SSH的基本威胁,同时允许适当的可用性。