SSH 隧道允许 ssh 流量:连接始终被拒绝

SSH 隧道允许 ssh 流量:连接始终被拒绝

我在工作时可以访问两台服务器。服务器 A 托管 git 存储库,并且对外可见。我希望能够将存储库克隆到托管在服务器 A 上的服务器 B 中。

目前,我无法从服务器 B ssh 到服务器 A。我假设防火墙阻止了这一操作。

因此,我尝试按照我遇到的写作创建一个 ssh 隧道,但到目前为止无济于事。

从服务器 A 的 shell:

$ ssh -L 1234:localhost:22 user@server_b

这成功使我登录到服务器 B。从那里我似乎无法使用以下命令执行任何操作ssh

$ ssh user@localhost
$ user@localhost's password: <entered correctly>
$ Permission denied, please try again.

$ ssh user@localhost -p 1234
$ ssh: connect to host localhost port 1234: Connection refused

尝试克隆

$ git clone ssh://user@localhost:1234/path/to/repo.git/
$ ssh: connect to host localhost port 1234: Connection refused
$ fatal: The remote end hung up unexpectedly

我的初始隧道命令是否不正确?或者我是否需要让网络管理员在防火墙上打开某些东西?

答案1

-R您需要使用而不是 来创建反向隧道-L

在本地机器上,使用

ssh -R 1234:server_a:22 user@server_b

您将获得一个 shell server_b。如果您这样做

ssh -p 1234 user@localhost

在这个 shell 上,这将把你连接到的 22 号端口server_a,通过你的本地机器建立隧道。

此后,你的 git clone 命令应该可以工作了。

相关内容