这可能是一个愚蠢的问题,因为我是一名开发人员而不是系统管理员,但这是我的情况:
我为一位客户创建了一个托管在云服务器上的网站。我将 hosts.deny 配置为拒绝所有连接,并将 hosts.allow 配置为仅接受来自我家和工作服务器的连接。
我担心,由于我的家庭 IP 偶尔会发生变化,我有一天可能会被锁定在该服务器之外。
是否存在某种(超级便宜的)服务可以让我在被锁定在服务器之外的情况下从已知 IP 以 ssh 方式进入服务器?
我考虑过在 ec2 上使用微实例,但长期来看成本并不低。欢迎提出任何其他巧妙的建议。
谢谢!
答案1
我为一个客户创建了一个托管在云服务器上的网站。我将 hosts.deny 配置为拒绝所有连接,并将 hosts.allow 配置为仅接受来自我家和工作服务器的连接。我担心,由于我的家庭 IP 偶尔会发生变化,我有一天可能会被锁定在这台服务器之外。
你假设这个问题的解决方案是你需要第二个具有静态 IP 的服务器,这确实很奇怪。例如,我的家庭服务器设置如下:
拒绝主机确保恶意 SSH 登录被阻止——欢迎整个互联网尝试,但如果您失败五次,您将被永久禁止(或直到手动重置)
非标准 SSH 端口,以避免大多数暴力破解机器人
用户“root”已被禁用
对于企业解决方案,我将添加以下内容:
设置无密码的基于密钥的身份验证(不会丢失密钥)
将您所在的 ISP 或国家/地区以及工作服务器的 IP 范围列入白名单,这样动态 IP 就不再是问题,但仍能将其他任何人排除在外。
即使您认为这个解决方案不太正确,我还是建议您重新考虑是否要获取一个完全独立的服务器来绕过配置错误的黑名单。
答案2
您可以在 hosts.allow 中使用主机名/域。因此,使用 dawud 提到的 dyndns 提供商是一种不错的方法。
答案3
也许您可以与您的 ISP 商讨如何获取静态 IP,他们中的一些人确实提供这样的服务。
另外,我认为 EC2 Elastic ip 可能会有用:http://aws.amazon.com/articles/1346
保留 EC2 中的 IP 地址并创建一个微型实例,以防您无法在家中访问。您只需为微型实例的运行时间付费。
编辑:请注意,未使用的 IP 地址每小时将收取 0.005 美元。不过这并不多。
此外,这可以作为 bigbadonk420 提到的 5 次尝试然后阻止设置的补充。(以防你笨手笨脚)