IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 【WSL】SSH 远程连接及宿主机端口转发配置 -> 正文阅读

[开发工具]【WSL】SSH 远程连接及宿主机端口转发配置

引言

Windows 系统因其简单好用的图形化界面而深受广大用户喜爱,但一般科学研究和程序开发,我们都需要使用 Linux 系统的。为此,微软也在 Windows 系统内提供了一个嵌套的子 Linux 系统,用户可以根据需要选择性的开启,这就是 WSL。WSL 在使用 Linux 系统的同时,又能享受部分 Windows 的图形化界面服务,可谓一举双得。

简介

本文介绍如何在 WSL 中开启 SSH 服务,并通过配置端口转发让和宿主机同处一个局域网的计算机能够远程连接。

准备

为方便文章的展开,我们这里做个简单的定义:

  1. 定义安装 Windows 系统的物理机为宿主机
  2. 定义在上述宿主机上开启的 WSL 为虚拟机

教程

虚拟机远程连接配置

  1. 进入 wsl,执行命令 vi /etc/ssh/sshd_config,修改或增加如下配置
Port 22
PasswordAuthentication yes
  1. 重启 ssh 服务,并设置其开机自启动
service ssh restart
service ssh status
systemctl enable ssh
systemctl is-enabled ssh

完成上述配置后,宿主机就可以通过 SSH 连接虚拟机了。以下是连接教程:

  1. 进入 wsl,使用 ifconfig 命令查看虚拟机 IP【可以看到,这里是 172.27.242.144】
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.27.242.144  netmask 255.255.240.0  broadcast 172.27.255.255
        inet6 fe80::215:5dff:fe49:871  prefixlen 64  scopeid 0x20<link>
        ether 00:15:5d:49:08:71  txqueuelen 1000  (Ethernet)
        RX packets 77378  bytes 16287694 (16.2 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4366  bytes 417007 (417.0 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 4  bytes 336 (336.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4  bytes 336 (336.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  1. 退出 wsl,切换到宿主机,打开 cmd,并执行命令 ssh xuechao@172.27.242.144【其中 xuechao 是我的用户名,172.27.242.144 是上一步获取的 IP】
>ssh xuechao@172.27.242.144
xuechao@172.27.242.144's password:
Welcome to Ubuntu 20.04.4 LTS (GNU/Linux 5.10.16.3-microsoft-standard-WSL2 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Thu Jun 23 21:27:54 CST 2022

  System load:  0.0                Processes:             8
  Usage of /:   1.1% of 250.98GB   Users logged in:       0
  Memory usage: 1%                 IPv4 address for eth0: 172.27.242.144
  Swap usage:   0%


111 updates can be applied immediately.
63 of these updates are standard security updates.
To see these additional updates run: apt list --upgradable


Last login: Thu Jun 23 14:38:13 2022 from 172.27.240.1

现在宿主机已经能够正常连接虚拟机了,接下来是让和宿主机同处一个局域网的其它计算机也能连接上虚拟机,那么就需要配置宿主机的端口转发了。

宿主机端口转发配置

Windows 给我们提供了一个端口转发快捷配置工具:netsh。

  1. 在宿主机上以管理员身份运行 cmd 并执行下方命令
netsh interface portproxy add v4tov4 listenport=22 listenaddress=0.0.0.0 connectport=22 connectaddress=172.27.242.144
  • listenport:宿主机 Windows 监听端口(这里指定为 22)
  • listenaddress:宿主机 Windows 监听 IP 地址(0.0.0.0 表示同一局域网的所有 IP 地址)
  • connectport:WSL2 的 SSH 服务端口(一般默认 22)
  • connectaddress:WSL2 的 SSH 服务 IP 地址(打开 WSL 并通过 ifconfig 命令查看)

上述命令执行完成后,可通过 netsh interface portproxy show v4tov4 查看配置详情。

  1. 还需要配置防火墙出入站规则
netsh advfirewall firewall add rule name=WSL2 dir=in action=allow protocol=TCP localport=22

上述命令执行完成后,可通过 netsh advfirewall firewall show rulename=WSL2 查看配置详情。

结语

好的,你已经完成了所有配置,和宿主机在同一局域网的计算机也能通过 ssh 远程连接宿主机的 wsl 虚拟机了。

参考

https://zhuanlan.zhihu.com/p/372601715

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-06-29 19:17:52  更:2022-06-29 19:18:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:40:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码