ssh 反向代理+正向代理 实现内网穿透

Machine IP address ssh user Description exposed port
Remote 1.1.1.1 root remote vps 1024,1025
PC 192.168.1.100 * local pc *
Internal 172.1.0.2 root internal ip that has nat out interface *

1.开启remote=>internal的反向代理

在internal这台机器上执行以下命令

ssh -p 22 -qngfNTR 1024:0.0.0.0:22 root@1.1.1.1

在remote这台机器上执行以下命令

root@remote:~# netstat -apn|grep 1024
tcp        0      0 127.0.0.1:1024         0.0.0.0:*               LISTEN      13998/sshd: root 

返回值相同则表示反向代理建立成功

2.开启PC=>remote的正向代理

由于remote这台服务器监听的是127.0.0.1,不能被PC所使用,所以需要开启额外正向代理转发端口

在remote这台服务器执行以下命令

ssh -fCNL *:1025:localhost:1024 -o ServerAliveInterval=60 root@localhost

在remote这台机器上执行以下命令

root@iZ8vbb3mz6nov43lb1qg1uZ:~# netstat -apn|grep 1025
tcp        0      0 0.0.0.0:1025           0.0.0.0:*               LISTEN      27973/ssh           
tcp6       0      0 :::1025                :::*                    LISTEN      27973/ssh 

返回值相同则表示正向代理建立成功

现在有两种方式访问内网服务器

  1. 在remote服务器上

    ssh -p 1024 root@localhost
    
  2. 在PC上

    ssh -p 1025 root@1.1.1.1
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容