当前位置: 首页 > wzjs >正文

青海wap网站建设阳江房产网58同城

青海wap网站建设,阳江房产网58同城,案例查询网站,开发平台 learn反向 SSH 隧道技术实现内网穿透 场景描述 有一台内网的 Linux PC 机,想在其他地方(如家中)使用浏览器,在浏览器中能够使用内网 Linux PC 机的命令行。 实现思路 内网 Linux PC 机在内网可以使用 SSH 进行连接,但内…
反向 SSH 隧道技术实现内网穿透
场景描述

有一台内网的 Linux PC 机,想在其他地方(如家中)使用浏览器,在浏览器中能够使用内网 Linux PC 机的命令行。

实现思路

内网 Linux PC 机在内网可以使用 SSH 进行连接,但内网的 Linux PC 机 SSH 是作为服务端使用的,只能被动等待连接。我们需要一种技术,让内网 Linux PC 机以客户端的形式连接到一台公网服务器,其他 SSH 客户端也连接到公网服务器,通过公网服务器能够使用命令控制内网 Linux PC 机。

参考资料
  • SSH Tunnel 强大的隧道功能
  • 只需 2 条指令,轻松实现 SSH 反向隧道!
  • ssh反向隧道实现内网穿透
  • 使用SSH反向隧道进行内网穿透
实现步骤
场景模拟
  • Ubuntu 电脑:IP 为 172.18.1.168/24,用户名为 systemuser2
  • Windows 电脑:IP 为 172.16.30.87/24 和 192.168.92.1/24。
  • Debian 虚拟机:IP 为 192.168.92.141/24,用户名为 tukuku01

根据上述 IP 信息:

  • Windows 可以通过内部路由器访问 Ubuntu,Ubuntu 也可以通过内部路由器访问 Windows。
  • Windows 可以通过虚拟机网络访问 Debian,Debian 也可以通过虚拟网络访问 Windows。
  • Debian 可以通过虚拟机网络访问 Ubuntu,但 Ubuntu 不能访问 Debian 系统。
目标

在 Windows 上通过 Ubuntu 进行反向代理,直接访问 Debian 系统。使用一系列的 SSH 命令,但命令中不可出现 Debian 的 IP 地址。

前提
  • Ubuntu 电脑需要有全套的 SSH 服务(sshsshd)。
  • Debian 也需要有全套的 SSH 服务。
  • Windows 中需要有 SSH 客户端。
具体命令
在 Ubuntu 中
  1. 修改 SSH 配置文件

    sudo nano /etc/ssh/sshd_config
    

    修改或添加以下内容:

    GatewayPorts yes
    
  2. 重启 SSH 服务

    sudo systemctl restart sshd
    sudo systemctl restart ssh
    
  3. 开放端口 6666 并允许通过防火墙
    如何正确打开端口6666并允许通过防火墙,可自行搜索,本次测试使用:

    sudo ufw disable  # 关闭防火墙
    sudo nft add rule inet filter input tcp dport 6666 accept
    

    如果没有 nft,可以使用以下命令安装:

    sudo apt install nft
    

    注意:如果重启或注销,6666 端口可能会被关闭。由于验证功能,不需要固化到系统中。

在 Debian 中
  1. 安装 SSH 服务

    sudo apt update
    sudo apt install ssh
    
  2. 重启 SSH 服务

    sudo systemctl restart sshd
    sudo systemctl restart ssh
    
  3. 建立反向隧道

    ssh -p 22 -qngfNTR 0.0.0.0:6666:0.0.0.0:22 systemuser2@172.18.1.168
    

    提示

    The authenticity of host '172.18.1.168 (172.18.1.168)' can't be established.
    ED25519 key fingerprint is SHA256:/4KPZ2tdSMIKRIMfWRI7TPzWMli5b1OHtQdh0zRT9b0.
    This key is not known by any other names.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes  # 输入yes
    systemuser2@172.18.1.168's password:	#输入Ubuntu的密码
    

    执行完毕后自动退出,因为有一个参数是后台执行的意思。

在 Windows 中
  1. 使用 SSH 命令连接到 Ubuntu

    ssh systemuser2@172.18.1.168
    

    输入 Ubuntu 的密码。

  2. 通过 Ubuntu 的反向隧道连接到 Debian

    ssh -p 6666 tukuku01@127.0.0.1
    

    输入 Debian 的密码。

    完整输出

    C:\Users\shaoz>ssh systemuser2@172.18.1.168
    systemuser2@172.18.1.168's password:
    Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.15.0-131-generic x86_64)
    ******
    Last login: Mon Mar 24 10:18:49 2025 from 172.16.30.87
    xhost:  unable to open display ""
    systemuser2@kukutu:~$ ssh -p 6666 tukuku01@127.0.0.1
    tukuku01@127.0.0.1's password:
    Linux tukuku-vm1 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    Last login: Mon Mar 24 10:19:38 2025 from ::1
    tukuku01@tukuku-vm1:~$
    
  3. 直接从 Windows 连接到 Debian

    ssh -p 6666 tukuku01@172.18.1.168
    

    完整输出

    C:\Users\shaoz>ssh -p 6666 tukuku01@172.18.1.168
    The authenticity of host '[172.18.1.168]:6666 ([172.18.1.168]:6666)' can't be established.
    ED25519 key fingerprint is SHA256:HoC4CmexS/2TWJxn3MZkKgSLsIUmaPQuyezPC5F2EmQ.
    This host key is known by the following other names/addresses:C:\Users\shaoz/.ssh/known_hosts:15: 192.168.92.141
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
    Warning: Permanently added '[172.18.1.168]:6666' (ED25519) to the list of known hosts.
    tukuku01@172.18.1.168's password:
    Linux tukuku-vm1 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    Last login: Mon Mar 24 14:47:53 2025 from 127.0.0.1
    tukuku01@tukuku-vm1:~$ ls
    公共  模板  视频  图片  文档  下载  音乐  桌面
    tukuku01@tukuku-vm1:~$ ll
    -bash: ll: 未找到命令
    tukuku01@tukuku-vm1:~$
    
待优化
  • 命令中未出现 Debian 的地址:虽然实现了目标,但命令中并未直接使用 Debian 的地址,而是通过 Ubuntu 的反向隧道间接访问。
  • 直接从 Windows 连接到 Debian:目前需要先连接到 Ubuntu,再通过 Ubuntu 连接到 Debian,这不太合理。可能是因为在 Ubuntu 中未正确监听 0.0.0.0:6666 地址,而是监听了 127.0.0.1:6666。可以通过以下命令检查端口绑定:
    sudo netstat -tulnap | grep 6666
    
  • 修改配置文件:可能需要修改 /etc/ssh/ssh_config 文件,而不是 /etc/ssh/sshd_config 文件。
高级操作
  • 使用 WebSSH 在浏览器中访问
    • 在服务器上(本场景下使用 Ubuntu),环境和操作同上。
    • 参考:GitHub - huashengdun/webssh: Web based ssh client
    • 使用命令安装 WebSSH:
      pip3 install webssh
      wssh
      
      更多参数参考官网。
    • 在 Windows 浏览器中输入 Ubuntu 的环境地址,本次验证为:
      http://172.18.1.168:8888/
    • 输入 SSH 反向隧道的信息:
      • hostname: 172.18.1.168
      • port: 6666
      • Username: tukuku01
      • Password: Debian 的密码
    • 进入 Debian 系统中的命令行。

通过上述步骤,你可以在 Windows 上通过浏览器访问内网的 Debian 系统,而无需直接使用 Debian 的 IP 地址。
在这里插入图片描述

http://www.dtcms.com/wzjs/569319.html

相关文章:

  • 纪实摄影网站推荐泉州网站建设选择讯呢
  • 金顶街网站建设中国建设银行网址是什么
  • wap网站微信一键登录计算机女生就业方向
  • 本溪网站制作wordpress session
  • 加盟网站建设公司工程项目挂网在什么网站上看
  • 柳州公积金网站创新优典网站建设
  • 检测网站死链建设工商联网站的意义
  • 门户网站建设 报告南京科技网站设计有特点
  • 设计师接单的网站sem推广软件选哪家
  • 口岸地区网站建设内容山西怀仁建设银行
  • 工程信息网站有哪些中宁网站建设
  • 学院网站建设成效佛山市城乡和住房建设局网站
  • 适合前端新手做的网站山西招标
  • 网站结构怎么分析樟木头做网站
  • 有没有卖设计的网站wordpress查询数据库乱码
  • 网络定制营销seo关键词排名优化官网
  • wordpress地址和站点地址错赣州网站建设哪家公司好
  • 新网站怎么做谷歌推广呢桂林房产
  • 余姚网站定制专业网站定制流程
  • 网站建设项目的预表可以放钓鱼网站的免费空间
  • 电商网站设计公司可找亿企邦无锡市政建设集团有限公司网站
  • 重庆忠县网站建设公司哪家好网上购物型网站
  • wp怎样做可以下载的网站免费全能浏览器
  • 建设网站的公司哪家好高级建站网站
  • 有开源项目做的网站北京市住房建设投资建设网站
  • 哈尔滨cms建站网站内容运营
  • 淄博高端网站磁力搜索器
  • 陕西网站建设多少钱南昌网站建设报价单
  • 专业建网站的学校logo免费设计网站
  • 查询网站哪做的做药物分析常用网站