Ssh

允許 ssh 流量的 SSH 隧道:連接總是被拒絕

  • April 17, 2013

我可以在工作中訪問兩台伺服器。伺服器 A 託管 git 儲存庫並且在外部可見。我希望能夠將儲存庫複製到託管在伺服器 A 上的伺服器 B 中。

目前,我無法從伺服器 B SSH 到伺服器 A。我假設防火牆阻止了它。

所以我試圖在我遇到的文章之後創建一個 ssh 隧道,但到目前為止無濟於事。

從伺服器 A 的外殼:

$ 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

我的初始隧道命令不正確嗎?或者我可能需要讓網路管理員在防火牆上打開一些東西?

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

在本地機器上,使用

ssh -R 1234:server_a:22 user@server_b

你會得到一個外殼server_b。如果你這樣做

ssh -p 1234 user@localhost

在這個 shell 上,這將把你連接到 22 埠server_a,通過你的本地機器隧道。

之後,您的 git clone 命令應該可以工作了。

引用自:https://serverfault.com/questions/500283