首页 > 解决方案 > 通过堡垒机进行 SSH 隧道和端口转发会导致连接被拒绝错误

问题描述

我有 jupyter notebook 在服务器机器上运行,我可以通过堡垒机 ssh 进入。我想访问本地机器上的笔记本。

在此处输入图像描述

以下是我在服务器机器上运行 jupyter 后的尝试:

ssh -f -N -L local_machine_port:server_machine_IP:server_machine_port_hosting_jupyter username@bastion_machine_ip

每当我尝试访问http://localhost:local_machine_porthttp://127.0.0.1:local_machine_port获得

debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug1: Connection to port 7001 forwarding to <server ip> port <server port> requested.
debug1: channel 2: new [direct-tcpip]
debug1: Connection to port 7001 forwarding to <server ip> port <server port> requested.
debug1: channel 3: new [direct-tcpip]
channel 2: open failed: connect failed: Connection refused
debug1: channel 2: free: direct-tcpip: listening port 7001 for <server ip> port <server port>, connect from 127.0.0.1 port 43276 to 127.0.0.1 port 7001, nchannels 4
channel 3: open failed: connect failed: Connection refused
debug1: channel 3: free: direct-tcpip: listening port 7001 for <server ip> port <server port>, connect from 127.0.0.1 port 43278 to 127.0.0.1 port 7001, nchannels 3
debug1: Connection to port 7001 forwarding to 192.168.2.38 port 6006 requested.
debug1: channel 2: new [direct-tcpip]
channel 2: open failed: connect failed: Connection refused
debug1: channel 2: free: direct-tcpip: listening port 7001 for <server ip> port <server port>, connect from 127.0.0.1 port 43280 to 127.0.0.1 port 7001, nchannels 3

我该怎么办?

标签: sshssh-tunnel

解决方案


尝试将--ip 0.0.0.0选项添加到jupyter notebook命令

您可以按照下列步骤操作:

 1. Run ssh on local machine:
     ssh -L local_machine_port:server_machine_IP:server_machine_port_hosting_jupyter username@bastion_machine_ip
 2. Run jupyter notebook on remote server:
     jupyter notebook --ip 0.0.0.0 --port server_machine_port_hosting_jupyter  
 3. Open browser on localmachine:
     http://localhost:local_machine_port

推荐阅读