ssh 端口转发/安全风险

use*_*832 2 security ssh port-forwarding

我想从外部机器访问在我的办公室防火墙后面的 Web 服务器上运行的 Web 应用程序。

我们有一个运行 sshd 的堡垒主机,它可以从 Internet 访问。

我想知道这个解决方案是否是一个坏主意:

  • 使用 shell=/bin/false 在堡垒主机上创建一个帐户,没有密码('testuser')
  • 在外部机器上创建一个 ssh RSA 密钥
  • 将公共 RSA 密钥添加到 testuser 的 authorized_keys 文件中
  • 使用以下命令从外部主机 ssh 到堡垒主机:ssh -N 8888:targethost:80
  • 从外部主机运行我的测试
  • 关闭 ssh 隧道

我知道如果我的 RSA 私钥被泄露,那么有人可以通过 ssh 连接到堡垒主机。但是这个解决方案是个坏主意还有其他原因吗?

谢谢你!

Pro*_*rty 5

我认为这是一个非常安全的设置,我自己使用它。您需要在命令中添加“-L”:

ssh -N -L 8888:targethost:80
Run Code Online (Sandbox Code Playgroud)

只要您不使用 '-g' 选项,只有您的客户端机器可以转发端口。

我还建议让堡垒主机上的 sshd 侦听非标准端口。如果您正在侦听标准端口,攻击流量有时会占用大量 CPU。

还要为您的 ssh 密钥选择一个好的密码,并仅在受信任的机器上输入它。最好是 Linux,在 Linux 上安装键盘记录器不是那么简单。