
我正在嘗試從另一個網域瀏覽在一個網域內的伺服器上執行的 wiki。該 wiki 只能在 LAN 上訪問,但我需要從另一個透過 SSH 隧道連接的 LAN 來瀏覽它...
這是我的設定和到目前為止我所做的步驟:
~.ssh/confing
在wikihost
:
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 無法連線到隧道的另一端。