我有一个爆裂的VPS服务器,我的家用电脑是在NAT后面。 我想在另一个地方使用sshredirect来连接我的家用电脑。
我在我的家用电脑上这样做:
ssh -fNgR 2221:localhost:22 [email protected]
所以在myvps.info上有一个2221端口的监听器
netstat -an tcp 0 0 127.0.0.1:2221 0.0.0.0:* LISTEN
现在我想用命令波纹pipe连接我的家用电脑
ssh -p 2221 [email protected]
但它返回:
ssh: connect to host myvps.info port 2221: Connection refused
我使用nmap myvps.info来查看哪个端口打开了那里显示的vps服务器:
PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 135/tcp filtered msrpc 139/tcp filtered netbios-ssn 445/tcp filtered microsoft-ds 593/tcp filtered http-rpc-epmap 4444/tcp filtered krb524
在2221端口打开! 为什么以及如何解决这个问题?
你的netstat显示“127.0.0.1:2221”,这意味着它只监听127.0.0.1(本地连接)。 您将需要configuration另一个侦听地址,即机器的IP地址,或0.0.0.0,通常意味着所有可用的地址。
你需要使用:
ssh -fNR *:2221:localhost:22 [email protected]
这将绑定服务器的监听套接字到所有的networking接口(不只是本地主机),和
GatewayPorts yes
在/ etc / sshd_config文件中(确切的path可能会根据您的Linux发行版而有所不同)。
有关更多信息,请参见ssh和ssh_config手册页。