问题
我正在尝试从 Windows 或 Linux 计算机配置到 NexentaStor 设备的 SSH 隧道,以便我可以将 Crashplan Desktop GUI 连接到在 Nexenta 盒上运行的无头 Crashplan 服务器,根据 Crashplan 支持站点上的以下说明:连接到无头 CrashPlan 桌面。
到目前为止,我都无法从 Windows 客户端(使用 Putty)或 Linux 客户端(使用命令行 SSH)获取有效的 SSH 隧道。我相当确定问题出在 NexentaStor 的接收端。博客文章 -Nexenta 上的 CrashPlan 备份- 表示只有在“在 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