透過代理使用socks進行連接埠轉發

透過代理使用socks進行連接埠轉發

我正在嘗試從另一個網域瀏覽在一個網域內的伺服器上執行的 wiki。該 wiki 只能在 LAN 上訪問,但我需要從另一個透過 SSH 隧道連接的 LAN 來瀏覽它...

這是我的設定和到目前為止我所做的步驟:

~.ssh/confingwikihost

Host gateway
  User kisteuser
  Port 443
  Hostname gateway.companydomain.com
  ProxyCommand /home/myuser/bin/ssh-https-tunnel %h %p
  # ssh-https-tunnel:
  # http://ttcplinux.sourceforge.net/tools/stunnel
  Protocol 2
  IdentityFile ~/.ssh/key_dsa
  LocalForward 11069 localhost:11069

Host server1
  User kisteuser
  Hostname localhost
  Port 11069
  LocalForward 8022 server1:22
  LocalForward 17001 server1:7100
  LocalForward 8080 www-proxy:3128
  RemoteForward 11069 localhost:22

wikihost

myuser@wikihost: ssh -XC -t gateway.companydomain.com ssh -L11069:localhost:22 server1

在另一個終端上:

ssh gateway.companydomain.com

現在,在我的公司網域上,我想啟動 Firefox 並瀏覽wikihost.我做了:

[email protected] ~ $ ssh gateway
Have a lot of fun...
kisteuser@gateway ~ $ ssh -D 8383 localhost
user@localhost's password: 
user@wikiserver:~> 

我的.ssh/config那一邊看起來像這樣:

host server1
    localforward 11069 localhost:11069

host localhost
    user myuser
    port 11069

host wikiserver
    forwardagent yes
    user myuser
    port 11069
    hostname localhost 

現在,我在名為 的伺服器上啟動 Firefox gateway,並編輯代理設定以使用 SOCKSv5,指定代理應該是gateway並使用連接埠 8383...

kisteuser@gateway ~ $ LANG=C firefox -P --no-remote

而且,現在我在終端機中彈出以下錯誤wikiserver

myuser@wikiserver:~> channel 3: open failed: connect failed: Connection refused
channel 3: open failed: connect failed: Connection refused
channel 3: open failed: connect failed: Connection refused

使困惑?我也是 ...

請幫助我了解如何正確建造隧道並透過 SOCKS 協定瀏覽 wiki。

更新:

我設法在 wikiserver 上瀏覽 wiki,並進行了以下更改:

host wikiserver
    forwardagent yes
    user myuser
    port 11069
    hostname localhost 
    localforward 8339 localhost:8443

現在,當我透過 sshgateway啟動 Firefox 並前往 localhost:8339 時,我就進入了 wiki 的起始頁面,該頁面在連接埠 8443 上提供服務。

現在我問自己真的需要襪子嗎?有人可以詳細說明一下嗎?

答案1

要按照您想要的方式設定 SOCKS,您需要執行ssh -D 8383命令您要執行瀏覽器的計算機,並使其連接一台可以存取 wiki 的機器。您也應該用作localhost:8383代理位址,因為 ssh -D預設僅監聽,localhost如手冊頁所述:

預設情況下,本機連接埠會根據 GatewayPorts 設定進行綁定。但是,可以使用明確的bind_address將連線綁定到特定位址

因此,如果gateway可以訪問wikihost,但您想在 上運行瀏覽器kiste,則應該在 上運行 Firefox kiste,將其配置為“localhost:8383”作為 SOCKS 代理,並ssh -D 8383 gateway從運行kiste

其他一些需要記住的注意事項:

嘗試使用 運行所有 ssh 命令-v。這將向您顯示正在請求的所有轉發,並且您將能夠看到到底哪一個轉發失敗。

我還建議去掉你其實不需要的隧道,只是為了讓情況不要那麼混亂。

當某些東西嘗試連接到某個連接埠的一端時,就會觸發您看到的錯誤訊息靜止的SSH 隧道(您使用-L或建立的隧道-R),但 SSH 無法連線到隧道的另一端。

相關內容