gpt4 book ai didi

ssh - 如何通过 JSch : port forwarding, ssh 命令或 SSH 隧道多次 ssh?

转载 作者:可可西里 更新时间:2023-11-01 02:54:01 27 4
gpt4 key购买 nike

通过终端,我可以多次 SSH 连接到服务器:

(客户端--->网关--->服务器1---->服务器2---)

但是现在要通过Java的JSch库来实现,怎么办呢?首先尝试了端口转发,但在终端上我没有这样做(没有在 ssh 中设置 -R -L 参数)。

然后我遇到了问题How to SSH to a server behind another SSH server using JSch? , 但我不明白如何创建 tcp 隧道!

最佳答案

端口转发是最好的方法。

您不需要在终端中进行端口转发,因为您通过键入ssh 命令 手动连接到第二部分。虽然您可以使用 JSch 将其自动化,但它并不是尝试模拟人类的可靠方法。如果您想用 JSch 替换第一个 ssh(终端)步骤,出于同样的原因您不想在第二个步骤中使用 sshaccepted answer在您链接到的问题中,也阻止您尝试这样做。当一切顺利时,它可能会起作用。但是一旦出现任何问题,您将无法自动处理它。例如,您几乎无法为第二台服务器自动执行主机 key 验证。


SSH 隧道 是端口转发。但是也许提到的ProxySSH(似乎不再存在)在内部没有打开本地端口,而是在第二个 session 中直接使用了“端口转发” channel 。但这种方法实现起来太复杂了。坚持使用简单的端口转发。

有关完整示例,请参阅:
JSch multiple tunnels/jumphosts

关于ssh - 如何通过 JSch : port forwarding, ssh 命令或 SSH 隧道多次 ssh?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37340444/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com