连接到AWS EC2 SSH以获取公共位置的最佳做法

我最近一直在学习如何在亚马逊设置和运行Linux服务器,我一直在想从公共场所进行SSH的最佳实践。 我的意思是像公共场所,就像一家咖啡店。

我有安全组,我能想到的两个解决scheme是改变入站到处或find我的笔记本电脑有公共ip,并将其设置为临时入站。

这些解决scheme对我来说似乎很奇怪,我每次都要改变安全组。 这是正常的吗? 或者有其他的方法吗?

另外,当在公共场所进行SSH连接时,我应该考虑build立一个虚拟的专用networking还是会过度杀人?

SSH是encryption的,所以不需要使用VPN加倍encryption。 即使有人在窃听stream量,他们也无法访问。 请确保使用公钥(这是AWS Amazon Linux实例中的默认值)进行身份validation,但在其他发行版上可能需要更多的工作。

如果您打算从不同地点进行SSH连接,最好的办法是默认closures它,添加您的常规IP地址,如果您需要从咖啡店login到Web界面(您应该使用2FA)并允许访问从那个IP。 不要忘了关掉它。 让SSH向世界开放可能不是一个巨大的风险,但是我自己不这样做,因为我不是从随机位置ssh进来的。 如果你的服务器是关键/敏感的,我会小心的,但对于其他的事情,风险可能是低到中等。 当然你需要备份数据,EBS快照就足够了。

是的,使用VPN访问EC2的ssh是最好的。 即使您在使用公共广告后closures了访问权限,但仍然存在风险,尤其是当某人正在窥探某个咖啡店的stream量时。

如果VPN不是一个选项,你可以采取几个步骤来降低风险(你应该真的这样做):

  1. configuration你的sshd只接受密钥。 没有密码login。 如果你可以做双因素authentication,甚至更好。
  2. 不要在多个地方重复使用相同的ssh密钥。
  3. 限制您使用ssh-agent的密钥。 ( 这是一个有趣的openssh错误 。)
  4. 保持openssh / openssl补丁。