无需公钥的持久 SSH 端口转发

无需公钥的持久 SSH 端口转发

问题

当您连接的服务器不运行时,我还没有找到以可靠且持久的方式运行 SSH 端口转发的解决方案不是支持公钥认证。

问题

当需要密码时,保持持久 SSH 端口转发活动的最合理方法是什么?考虑到安全性和可靠性(我意识到这并不理想)。我很高兴它在启动时需要密码(即在服务器重新启动时不持久,这应该防止实际脚本具有明文密码),但我需要它在断开连接时保持可靠。

动机

我希望连接的服务器位于一系列防火墙后面,并且我正在使用本地 SSH 端口转发将 Web 服务器公开到公共互联网。我目前正在使用标准端口转发,但每隔几天就会收到“管道损坏”错误,我希望它在出现此类故障时自动重新启动连接。

尝试

  • 我尝试过使用自动SSH但它似乎假设你有公钥身份验证。我还没有成功地让它与某种密码身份验证一起工作。

  • 我尝试过使用sshpass,但后来我没能成功地让端口转发与此一起工作。我认为 SSH 服务器提供的欢迎消息可能会让您感到困惑。

为什么我无法启用公钥身份验证?

出于政策原因,IT 部门设计时要求输入密码。我没有服务器的 root 访问权限,也无法更改它。我想使用公钥身份验证,但我坚持使用我所拥有的。

想法

  • 也许使用类似的东西预计,并构建我自己的脚本解决方案,但这听起来不太好。

答案1

问题的作者提供了以下解决方案:

更新 - 解决方案

这并不是给定问题的真正解决方案,但它确实解决了我原来的问题。我最终使用反向代理而不是本地代理,这允许我使用公钥和 autossh。

autossh -M 20000 -nNT -R *:80:localhost:80 [email protected]

相关内容