使用SSH连接局域网内的WSL Ubuntu
参考:
https://zhuanlan.zhihu.com/p/586283483
https://www.cnblogs.com/lidabo/p/16855975.html
==========================================
根据https://zhuanlan.zhihu.com/p/586283483中的表述有:

本文主要给出windows主机的端口转发、开启windows防火墙端口规则。
-------------------------------------------------------------------------

windows主机的端口转发(创建)
使用Windows自带网络工具‘netsh’,以管理员权限启动PowerShell,输入以下命令:
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=2222 connectaddress=172.28.201.129 connectport=22

windows宿主机暴露给局域网的端口为2222,并将发送给2222端口的信息转发给WSL Ubuntu(172.20.201.129)的22端口。
netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=2222
查看windows宿主机端口转发情况:
netsh interface portproxy show all

开启windows防火墙端口规则
管理员权限运行PowerShell,输入命令:(防火墙开放宿主机windows的2222端口)
netsh advfirewall firewall add rule name=WSL2 dir=in action=allow protocol=TCP localport=2222

============================================
成功解决端口转发,实现局域网对WSL Ubuntu的访问:

------------------------------------------------------

================================================
为了是宿主机上WSL中的Ubuntu可以被局域网中其他主机通过ssh访问,我们也可以在宿主机上使用ssh端口映射的方式将WSL主机暴露给局域网。在WSL启动后,宿主机上对127.0.0.1地址下端口进行访问,如果此时宿主机上没有监听该端口那么对该端口的访问会转发(net转换方式)给WSL下的ubuntu,因此在宿主机上可以通过ssh devil@127.0.0.1 -p 22的方式直接访问WSL下的Ubuntu(ubuntu需要安装openssh-server)。我们在宿主机上使用ssh端口映射的方式可以把对0.0.0.0的IP地址下某端口的访问映射给127.0.0.1下某个端口,要注意局域网主机可以通过宿主机IP(宿主机监听IP为0.0.0.0)来对宿主机进行通信,但是不能通过127.0.0.1来访问局域网下的宿主机(127.0.0.1只能在本机上进行访问)。
给出ssh端口映射命令:
ssh -N -L 0.0.0.0:8888:127.0.0.1:22 devil@127.0.0.1 -p 22
该命令在宿主机上执行,该命令执行后进入阻塞状态,因此执行该命令的窗口不能关闭。
-------------------------------------------------
0.0.0.0:8888
代表将监听宿主机的对外IP地址下的8888号端口,如果宿主机有多个网卡和IP,这里可以将0.0.0.0替换为某个网卡上的具体IP大致;
127.0.0.1:22
代表要把信息映射给的IP及端口;
ssh -N -L 0.0.0.0:8888:127.0.0.1:22
代表着把对本机8888号端口的访问信息转发给127.0.0.1地址的22端口(将0.0.0.0:8888映射为127.0.0.1:22);
ssh -N -L 0.0.0.0:8888:192.168.11.242:80
代表把对本地8888号端口访问的信息转发给192.168.11.242下的80端口(将0.0.0.0:8888映射为192.168.11.242:80),该种映射一般用于把本地的web服务(只监听本地127.0.0.1下端口的web服务映射为局域网可以访问的IP地址下的端口);
devil@127.0.0.1 -p 22
代表端口映射的目标主机的ssh登录的配置,这里wsl下ubuntu的ssh端口为22;
效果:
ssh端口映射:

端口映射成功后局域网内主机可以成功访问WSL下的Ubuntu:

==================================================
使用SSH连接局域网内的WSL Ubuntu的更多相关文章
- 使用apt-mirror建立局域网内的Debian/Ubuntu源镜像
转:http://forum.ubuntu.org.cn/viewtopic.php?t=41791 第一次翻译,翻译得不好还请大家见谅,多多指出错误~!:) 原文可以见如下的贴子:http://fo ...
- 如何使用 SSH 连接 VMWare 虚拟机中的 Ubuntu
环境:VMWare Player 5.0.2,Ubuntu 13.10 VMWare共有3种网络连接模式,分别是: 1. bridged(桥接模式):虚拟机将直接连接到物理局域网,使自身独立于宿主机 ...
- 2018.2.10 使用SSH连接远程滴滴云服务器Ubuntu (Windows下) 及 putty工具永久设置字体、颜色
一开始会有人问云服务器是什么? 云服务器是一种类似VPS服务器的虚拟化技术, VPS是采用虚拟软件,VZ或VM在一台服务器上虚拟出多个类似独立服务器的部分,每个部分都可以做单独的操作系统,管理方法同服 ...
- Windows远程连接局域网内或同一个网段或同一个路由器的某台机器
http://bbs.shendu.com/thread-1443245-1-1.html 亲自试验,具体操作如下: 我现在有三台机器和对应的ip地址(ip地址自己手动填写,不会网上搜) ...
- c++ 远程连接局域网内 数据库,并进行操作
首先尝试利用Windows自带的dos命令窗口操作数据库:参考见https://jingyan.baidu.com/article/3aed632e19b5e8701080918f.html 1.搜索 ...
- ssh 连接很慢的解决办法
http://blog.csdn.net/ablo_zhou/article/details/5074887 ============= 现象: 在局域网内,能ping通目标机器,并且时延是微秒级. ...
- win7 64 位操作系统,进程System,PID为4,扫描连接局域网ip地址的139和445端口
偶然发现电脑的System进程不间断扫描连接局域网内的其它IP对应的445和139端口,这是个问题. 上网搜索,立即关闭139端口的监听. 方法如下: 本地连接属性-TCP/IP属性-高级-WINS选 ...
- 局域网内使用ssh连接两台计算机总结
因为家里有两台电脑,一个centos7 系统,一个Mac,都是笔记本,感觉两个拿来拿去的用太麻烦了,所以就想用ssh连接cenots7 的电脑,这样就没那么麻烦了.欢迎大家指正 配置静态ip cent ...
- 一次在局域网中ssh连接的尝试
最近到手一台二手HP笔记本.卖我本子的是以为很漂亮的服装设计师,她因为有了一台新的Mac本所以HP本就闲置了,于是就卖给了我.本子性能跟我自己的三星本差不多,除了电池不太给力,每次开机都会提示601. ...
- 局域网如何通过SSH连接虚拟机装的centOS系统
首先,在一个局域网内的一台机器上装了虚拟机,虚拟机上装了centos系统: 但是,只有本机能连接centos,其他电脑都连不上: ping了一下发现不通,然后排查原因. 我发现局域网内的机器IP都是: ...
随机推荐
- n. Elasticsearch JAVA API操作
引言 Elasticsearch所支持的客户端连接方式有两种 Transport 连接 底层使用socket连接,用官方提供的TransPort客户端,网络IO框架使用的是netty Http连接(R ...
- GIT 生成变更历史文件清单
脚本搞定git文件版本变化信息,解决部署种变更的审核和统计信息工作复杂问题 git diff --name-status --ignore-cr-at-eol --ignore-space-at-eo ...
- Asp.net Core Flurl.Http 结合IHttpClientFactory管理HttpClient生命周期
Asp.net Core, 在我用过的多种Http REST 客户端: RestSharp WebApiClient Refit Flurl 中,Flurl可以说是最符合我口味的,用起来那可真的顺滑无 ...
- python logging日志没有写入到指定文件,写到其他项目的日志文件
背景: 项目A为主框架项目,使用到了项目B的方法 项目A.B均有封装好的日志方法,且均在封装好的日志文件里面,增加了logger = MyLogger().info,其他文件要使用日志时,引入logg ...
- Python使用Matplotlib画以日期为X轴的图
Python使用Matplotlib画以日期为X轴的图 步骤: 用pd把字符串格式的日期转成date格式. 使用 AutoDateLocator 设置x轴的属性. 1 from matplotlib ...
- 从零开始学Spring Boot系列-集成Spring Security实现用户认证与授权
在Web应用程序中,安全性是一个至关重要的方面.Spring Security是Spring框架的一个子项目,用于提供安全访问控制的功能.通过集成Spring Security,我们可以轻松实现用户认 ...
- 统信 UOS 重置Root账号密码 获取 Root 权限
统信服务器默认无法用root 账号登入系统,用普通管理员登入后在切换至root账户下即可,初次使用系统时 切换至root账户前需要做很多配置 1.同信切换root账户首先要激活下系统,可以选择试用期激 ...
- ajax - 初步介绍
进入ajax了,想要进入vue还有一个前提就是要把ajax给熟悉一下,看一看客户端与服务器之间是怎么一个通信的过程,第一天主要是先了解了一下ajax的一些介绍,ajax嘛,在进入之前,肯定是要了解一下 ...
- C# 线程与进程
一.前台线程与后台线程对象 为什么要用多线程? 1.让计算机"同时"做多件事情,节约时间. 2.多线程可以让一个程序"同时"处理多个事情. 3.后台运行程序,提 ...
- VirtualBox Ubuntu 22.04 Server联网、与主机互联
使用 VirtualBox 7.0安装了两个Ubuntu 22.04 Server虚拟机,想要实现: 主机与虚拟机互联 虚拟机之间互联,且互联的IP应为静态 虚拟机可以联网 解决方法 每个虚拟机配置两 ...