問題
我正在嘗試從 Windows 或 Linux 電腦配置到 NexentaStor 設備的 SSH 隧道,以便可以根據 Crashplan 支援網站上的說明將 Crashplan 桌面 GUI 連接到在 Nexenta 盒子上運行的無頭 Crashplan 伺服器:連接到 Headless CrashPlan 桌面。
到目前為止,我未能從 Windows 用戶端(使用 Putty)或 Linux 用戶端(使用命令列 SSH)獲得有效的 SSH 隧道。我相當確定問題出在 NexentaStor 的接收端。一篇部落格文章——Nexenta 上的備份崩潰計劃- 表示只有在「在 Nexenta 中啟用 TCP 轉送之後」才能使其工作/etc/ssh/sshd_config
- 儘管我不確定如何去做或具體需要做什麼。
我嘗試過的事情
確保 Nexenta 盒子上的 Crashplan 伺服器正在偵聽連接埠 4243
$ netstat -na | grep LISTEN | grep 42
127.0.0.1.4243 *.* 0 0 131072 0 LISTEN
*.4242 *.* 0 0 65928 0 LISTEN
從 Linux 主機建立隧道:
$ ssh -L 4200:localhost:4243 admin:10.0.0.56
然後,從 Linux 主機上的另一個終端,使用 telnet 驗證隧道:
$ telnet localhost 4200
Trying ::1...
Connected to localhost.
Escape character is #^]'.
僅此而已,儘管 Crashplan 伺服器應該回應某物。
在 Windows 中,我使用 PuTTY 按照 Crashplan 支援網站上的說明建立了等效隧道,但telnet
在 Windows 上根本沒有任何回應,而且 Crashplan GUI 也無法連線。隧道連接的 PuTTY 日誌顯示合理的輸出:
...
2011-11-18 21:09:57 Opened channel for session
2011-11-18 21:09:57 Local port 4200 forwarding to localhost:4243
2011-11-18 21:09:57 Allocated pty (ospeed 38400bps, ispeed 38400bps)
2011-11-18 21:09:57 Started a shell/command
2011-11-18 21:10:09 Opening forwarded connection to localhost:4243
但telnet localhost 4200
來自 Windows 的命令根本不執行任何操作 - 它只是以空白終端等待。
在 NexentaStor 伺服器上,我檢查了該/etc/ssh/sshd_config
文件,一切看起來都「正常」 - 並且我註解掉了 ListenAddress 條目以確保我正在偵聽所有介面。
如何建立隧道,以及如何驗證它是否正常運作?
答案1
root
Rob,請嘗試以NexentaStor 伺服器上的使用者身分(而非 )執行 ssh 隧道admin
,然後回報。
$ ssh -L 4200:localhost:4243 [email protected]
答案2
您可能想要嘗試的另一件事是驗證您的 linux ssh 主機是否允許隧道。我在用著開放媒體庫,並且它有一個名為“允許進行 SSH 隧道”的特定設置,但未選中。經過檢查,我成功使用了PuTTY方法。
答案3
您需要轉送至連接埠 4242,而不是連接埠 4243。
ssh -L 4200:localhost:4242 admin:10.0.0.56