ssh 重定向

ssh 重定向

我有一台爆满的 VPS 服务器,家里的电脑位于 NAT 后面。我想使用 ssh 重定向连接到另一个地方的家里的电脑。

我在家里的电脑上这样做:

ssh -fNgR 2221:localhost:22 [email protected]

因此,myvps.info 中有一个 sock 监听 2221 端口

netstat -an 
tcp        0      0 127.0.0.1:2221          0.0.0.0:*               LISTEN  

现在我想用下面的命令连接我的家用电脑

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 端口已打开!为什么?我该如何解决这个问题?

答案1

您的 netstat 显示“127.0.0.1:2221”,这意味着它只监听 127.0.0.1(本地连接)。您需要配置另一个监听地址,可以是机器的 IP 地址,也可以是 0.0.0.0(通常表示所有地址可用)。

答案2

您需要使用:

ssh -fNR *:2221:localhost:22 [email protected]

它将把服务器的监听套接字绑定到所有网络接口(不仅仅是本地主机),并且

GatewayPorts yes

在您的 /etc/sshd_config 文件中(具体路径可能因您的 Linux 发行版而异)。

查看远程控制ssh_配置手册页以获取更多信息。

相关内容