【问题标题】:Restrict ssh access to server [closed]限制对服务器的 ssh 访问 [关闭]
【发布时间】:2021-10-21 15:16:50
【问题描述】:

我在 LTE 路由器后面有一个 Raspberry Pi,用于连接到互联网。 LTE 路由器阻止为 Pi 分配静态 IP,因此我创建了一个服务,该服务使用自动 ssh 构建反向 ssh 隧道到我的私人服务器,以便能够远程访问我的 pi。现在的问题是,如果有人拿到了 Pi 的 SD 卡,他可以从文件系统中读取私钥并访问我的服务器。

有什么方法可以保护我的服务器不通过 ssh 连接使用此密钥进行访问,同时保持无需密码即可建立反向隧道的能力?

服务器由 Strato 托管,由 Plesk 管理,因此每个域在 /var/www/vhost/domain.de 中都有自己的 vhost 文件系统。是否可以使用 Pi 上的确切此密钥隔离此空间以进行 ssh 访问,因此客户端只能看到此文件夹中的内容?或者我的问题还有其他解决方案吗?

【问题讨论】:

  • Pi 不必打开隧道。它只需将其 IP 地址报告给您的服务器,然后服务器就可以在两者之间打开一条隧道。
  • @chepner 隧道也可以通过 NAT 工作。 IP 仅会或不会根据情况工作

标签: ssh raspberry-pi reverse tunnel


【解决方案1】:

在覆盆子上创建一个新的(隧道)密钥,仅用于构建到您的 Strato 服务器的反向隧道。
在您的 Strato 服务器上,将公钥添加到 .ssh/authorized_keys,但添加在前面

command=/bin/false ssh-rsa ....

要连接,您必须将-N 添加到ssh 这将建立一个隧道,但不会尝试打开外壳。

现在钥匙丢了也无所谓了,因为它只能建立一个反向隧道,而不能打开一个shell。

您甚至可以为所有 raspi 使用该密钥来构建单独的反向隧道。

显然,您在.ssh/authorized_keys 中仅添加您的 user 密钥,而不是 tunnel 密钥

【讨论】:

  • 完美解决方案,谢谢jeb
猜你喜欢
  • 2015-10-06
  • 1970-01-01
  • 2014-12-15
  • 2017-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-18
相关资源
最近更新 更多