Skip to content

Windows备忘录

约 1365 个字 70 行代码 1 张图片 预计阅读时间 5 分钟

《万物互联》

成功将WSL、虚拟机、Windows主机互联,实现排列组合操作

关键是安装 OpenSSH,在三个设备上都安上。

点击这里查看聊天记录 with deepseek

第一步:下载OpenSSH

  1. Windows设置 -> 系统 -> 可选功能 -> 添加可选功能 -> OpenSSH 下载

  2. win + R,输入 services.msc,回车,打开“服务”管理器。找到 OpenSSH SSH Server。右键,选择“属性”。“启动类型”,选择自动(延迟启动)。

第二步:更改配置

  1. C:\Windows\System32\OpenSSH\sshd_config_default

  2. 管理员身份运行powershell / 命令提示符

  3. 获取文件所有权

    takeown /f C:\Windows\System32\OpenSSH\sshd_config_default
    
  4. 修改文件权限

    icacls C:\Windows\System32\OpenSSH\sshd_config_default /grant Administrators:F
    
  5. 修改文件内容

(Get-Content C:\Windows\System32\OpenSSH\sshd_config_default) -replace 'PasswordAuthentication no', 'PasswordAuthentication yes' | Set-Content C:\Windows\System32\OpenSSH\sshd_config_default
(Get-Content C:\Windows\System32\OpenSSH\sshd_config_default) -replace '#PermitRootLogin prohibit-password', 'PermitRootLogin yes' | Set-Content C:\Windows\System32\OpenSSH\sshd_config_default

  1. 恢复文件权限(可选)

    powershell icacls C:\Windows\System32\OpenSSH\sshd_config_default /reset

Warning

上面的 C:\Windows\System32\OpenSSH\sshd_config_default 应该都是 C:\ProgramData\ssh\sshd_config

  1. 重启 OpenSSH 服务
Restart-Service sshd

alt text

遇到的问题:

  1. 无管理员权限无法修改配置文件
  2. 记事本修稿之后默认在原文件夹下新建一个 .txt 文件

    • 针对此,想删除原来的文件并将 .txt 扩展名删掉
    • 提示需要 TrustedInstaller,即 Windows 模块安装服务,其拥有完全控制权限)提供的权限才能删除文件
    • 于是有了上面的解决方案

第三步:启动 SSH 服务

  1. 打开命令提示符(以管理员身份运行),输入以下命令:
    net start sshd
    
  2. 确保 SSH 服务已启动:

    sc query sshd
    

  3. 检查防火墙规则: - 确保 Windows 防火墙允许 SSH(端口 22)的入站连接。 - 打开“Windows Defender 防火墙” -> “高级设置” -> “入站规则”,确保“OpenSSH SSH Server (sshd)”已启用。

  4. 获取 Windows 主机的 IP 地址: - 在命令提示符中输入 ipconfig,找到 IPv4 地址。


第四步:连接

  1. 使用 SSH 连接 Windows 主机

    ssh username@windows_host_ip
    
    • username 是 Windows 主机的用户名。
    • windows_host_ip 是 Windows 主机的 IP 地址。
    • 如果是第一次连接,系统会提示你确认主机的指纹,输入 yes 继续。
    • 输入 Windows 用户的密码即可登录。

之后,又通过ssh密钥实现了连接:实质上就是:

  • 配置SSH密钥

    • 这个是:需要在A机器上操控B机器,则A里面得要有私钥,则需要在A里面安装SSH服务,B里面得要有公钥,即将A中的公钥复制到B里面。那么我在win主机用ssh次数估计不多,遂未在win中安装SSH。
    • 更改ssh设置使得可以通过密钥连接
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys
    PasswordAuthentication no
    

4. 使用 SSH 密钥登录(可选)

为了提高安全性,可以配置 SSH 密钥登录,避免每次输入密码。

步骤:

  1. 在 Ubuntu 虚拟机中生成 SSH 密钥: - 运行以下命令生成密钥:

    ssh-keygen -t rsa
    
    - 按提示保存密钥(默认路径为 ~/.ssh/id_rsa)。

  2. 将公钥复制到 Windows 主机: - 将生成的公钥(~/.ssh/id_rsa.pub)复制到 Windows 主机的 C:\Users\username\.ssh\authorized_keys 文件中。 - 如果 .ssh 目录不存在,可以手动创建。

  3. 测试 SSH 密钥登录: - 在 Ubuntu 虚拟机中运行:

    ssh username@windows_host_ip
    
    - 如果配置正确,无需输入密码即可登录。

关于IP

rzzha@COSMOS C:\Users\rzZha>ipconfig

Windows IP 配置

无线局域网适配器 本地连接* 1:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . :

无线局域网适配器 本地连接* 2:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . :

以太网适配器 VMware Network Adapter VMnet1:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::80df:3ca1:7eef:f908%15
   IPv4 地址 . . . . . . . . . . . . : 192.168.221.1
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . :

以太网适配器 VMware Network Adapter VMnet8:

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::3148:7fc3:194d:c71%19
   IPv4 地址 . . . . . . . . . . . . : 192.168.91.1
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . :

无线局域网适配器 WLAN:

   连接特定的 DNS 后缀 . . . . . . . :
   IPv6 地址 . . . . . . . . . . . . : 2408:8642:893:2fb:66fb:76dd:d4a8:b986
   临时 IPv6 地址. . . . . . . . . . : 2408:8642:893:2fb:1511:2ad2:eb13:9eb8
   本地链接 IPv6 地址. . . . . . . . : fe80::82a2:6d95:b28f:a094%14
   IPv4 地址 . . . . . . . . . . . . : 10.197.128.98
   子网掩码  . . . . . . . . . . . . : 255.255.0.0
   默认网关. . . . . . . . . . . . . : fe80::327b:acff:fe67:5802%14
                                       10.197.0.1

以太网适配器 蓝牙网络连接:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . :

以太网适配器 vEthernet (WSL (Hyper-V firewall)):

   连接特定的 DNS 后缀 . . . . . . . :
   本地链接 IPv6 地址. . . . . . . . : fe80::d3ed:2796:8d4f:a7cc%25
   IPv4 地址 . . . . . . . . . . . . : 172.25.144.1
   子网掩码  . . . . . . . . . . . . : 255.255.240.0
   默认网关. . . . . . . . . . . . . :

从你的 ipconfig 输出中可以看到,你的 Windows 主机有多个网络适配器,每个适配器都有不同的 IP 地址和配置。以下是关键信息的总结和解释:


1. 无线局域网适配器 (WLAN)

  • IPv4 地址10.196.142.22
  • 子网掩码255.255.0.0
  • 默认网关10.196.0.1
  • IPv6 地址2408:8642:891:382:caa9:b6be:d4e5:957b(临时地址为 2408:8642:891:382:40ef:227:f712:1601

这是你的主网络连接,用于访问互联网或局域网。你可以通过这个 IP 地址(10.196.142.22)从其他设备访问你的 Windows 主机。


2. VMware 网络适配器

  • VMnet1

  • IPv4 地址192.168.221.1

  • 子网掩码255.255.255.0

  • VMnet8

  • IPv4 地址192.168.91.1

  • 子网掩码255.255.255.0

这些是 VMware 虚拟机的虚拟网络适配器,用于虚拟机与主机之间的通信。如果你在 VMware 中运行虚拟机,可以通过这些 IP 地址与虚拟机通信。


3. WSL 网络适配器

  • vEthernet (WSL)

  • IPv4 地址172.25.144.1

  • 子网掩码255.255.240.0

这是 WSL(Windows Subsystem for Linux)的虚拟网络适配器,用于 WSL 与 Windows 主机之间的通信。你可以通过这个 IP 地址(172.25.144.1)从 WSL 访问 Windows 主机。


4. 其他适配器

  • 本地连接* 1本地连接* 2:媒体已断开连接。
  • 蓝牙网络连接:媒体已断开连接。

这些适配器当前未连接,因此没有分配 IP 地址。


如何通过 IP 地址访问 Windows 主机?

根据你的需求,可以通过以下方式访问 Windows 主机:

1. 从局域网内的其他设备访问

  • 使用无线局域网适配器的 IPv4 地址:10.196.142.22
  • 确保其他设备与 Windows 主机在同一局域网内(例如,连接到同一个 Wi-Fi 网络)。

2. 从 WSL 访问 Windows 主机

  • 使用 WSL 网络适配器的 IPv4 地址:172.25.144.1
  • 例如,在 WSL 中运行以下命令:
ping 172.25.144.1

3. 从 VMware 虚拟机访问 Windows 主机

  • 使用 VMware 网络适配器的 IP 地址:

  • 192.168.221.1(VMnet1)

  • 192.168.91.1(VMnet8)

  • 确保虚拟机的网络设置与适配器匹配(例如,NAT 模式或仅主机模式)。


如何测试网络连接?

你可以使用 ping 命令测试网络连接。例如:

1. 从 WSL 测试 Windows 主机

在 WSL 中运行:

ping 172.25.144.1

2. 从局域网内的其他设备测试 Windows 主机

在其他设备的终端中运行:

ping 10.196.142.22

总结

  • 你的 Windows 主机有多个网络适配器,每个适配器都有不同的 IP 地址。
  • 根据你的需求,选择合适的 IP 地址进行访问:

  • 局域网访问:10.196.142.22

  • WSL 访问:172.25.144.1
  • VMware 访问:192.168.221.1192.168.91.1

颜色主题调整