使用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都是: ...
随机推荐
- CloseableHttpClient设置超时时间demo 未设置默认是2分钟
# CloseableHttpClient设置超时时间demo 未设置默认是2分钟 import org.apache.http.HttpHeaders; import org.apache.http ...
- 有点儿神奇,原来vue3的setup语法糖中组件无需注册因为这个
前言 众所周知,在vue2的时候使用一个vue组件要么全局注册,要么局部注册.但是在setup语法糖中直接将组件import导入无需注册就可以使用,你知道这是为什么呢?注:本文中使用的vue版本为3. ...
- python重拾第五天-常用模块学习
本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...
- Linux内核中的static-key机制
# Linux内核中的static-key机制 背景 在移植某个TP时,发现频繁操作屏幕会导致i2c总线死掉.在跟踪代码的时候,我发现了这个static-key. 因此,学习一下这块的知识. refe ...
- 嵌入式工程师进阶,基于AM64x开发板的IPC多核开发案例分享
前 言 本文档主要说明AM64x基于IPC的多核开发方法.默认使用AM6442进行测试演示,AM6412测试步骤与之类似. 适用开发环境如下: Windows开发环境:Windows 7 64bit. ...
- 【ClickHouse】0:clickhouse学习1之数据引擎(数据库引擎,表引擎)
ClickHouse提供了大量的数据引擎,分为数据库引擎.表引擎,根据数据特点及使用场景选择合适的引擎至关重要,这里根据资料做一些总结. 数据库引擎官方文档: https://clickhouse.t ...
- Quarkus初体验:动态加载和原生部署
在前面的文章<尝试官方的第一个SpringNative 0.11程序>中提到过Quarkus这门技术.这里就简单演示一下它的两个主要功能:Live Coding和Native Build. ...
- 实现ASP.Net Core3.1运行在DockeDesktop下并用Nginx实现负载均衡
一.首先去https://docs.docker.com/get-docker/下载Windows版本的Docker Desktop并安装(需要win10专业版以上操作系统,并启用CPU虚拟化和安装H ...
- 洛谷P1176
#include<iostream> #include<utility> using namespace std; typedef long long ll; #define ...
- Django导出EXCEL并确保表头左右两列显示
以下是导出EXCEL确保表头左右两列显示正确值的代码示例: from openpyxl import Workbook from openpyxl.styles import Alignment # ...