WSL2- 使用Shell工具连接的一些配置

1. 固定ip

参考文章: Windows中wsl2为虚拟Linux子系统设置固定IP的方法_wsl2 固定ip-CSDN博客

2. 操作步骤

1. 安装并配置 SSH 服务器

首先,您需要在 WSL2 中安装和配置 OpenSSH 服务器。

  1. 更新软件包列表并安装 OpenSSH 服务器

    sudo apt update
    sudo apt install openssh-server
    
  2. 配置主机密钥

    1. 生成 RSA 主机密钥
    sudo ssh-keygen -t rsa -b 4096 -f /etc/ssh/ssh_host_rsa_key -N ''
    
    1. 生成 ECDSA 主机密钥
    sudo ssh-keygen -t ecdsa -b 521 -f /etc/ssh/ssh_host_ecdsa_key -N ''
    
    1. 生成 ED25519 主机密钥
    sudo ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ''
    

    这些命令将生成缺失的密钥,并将其保存到相应的文件中。

    1. 确保正确的文件权限

    主机密钥文件需要具有适当的权限。使用以下命令确保文件权限正确:

    sudo chmod 600 /etc/ssh/ssh_host_rsa_key
    sudo chmod 600 /etc/ssh/ssh_host_ecdsa_key
    sudo chmod 600 /etc/ssh/ssh_host_ed25519_key
    
  3. 配置 SSH 服务器

    默认情况下,OpenSSH 服务器已经可以正常工作,但您可以根据需要编辑配置文件:

    sudo vi /etc/ssh/sshd_config
    

    确保以下行未被注释并设置正确:

    Port 22
    PermitRootLogin yes
    PasswordAuthentication yes
    
    HostKey /etc/ssh/ssh_host_rsa_key
    HostKey /etc/ssh/ssh_host_ecdsa_key
    HostKey /etc/ssh/ssh_host_ed25519_key
    

    保存并退出文件,然后重新启动 SSH 服务器:

    sudo service ssh start
    

2. 获取 WSL2 的 IP 地址

输出示例:

cookie@PC-20240130ZJAM:~$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.31.64.2  netmask 255.255.255.0  broadcast 172.31.64.255
        inet6 fe80::215:5dff:fe08:4ae8  prefixlen 64  scopeid 0x20<link>
        ether 00:15:5d:08:4a:e8  txqueuelen 1000  (Ethernet)
        RX packets 377  bytes 60549 (60.5 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 168  bytes 21799 (21.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

IP 地址是 172.31.64.2

3. 配置 Windows 防火墙

为了允许通过 Xshell 连接到 WSL2,需要配置 Windows 防火墙允许端口 22 的连接。

  1. 打开 Windows 防火墙

    打开“控制面板” -> “系统和安全” -> “Windows Defender 防火墙” -> “高级设置”。

  2. 添加入站规则

    • 选择“入站规则”。
    • 点击“新建规则”。
    • 选择“端口”,然后点击“下一步”。
    • 选择“TCP”,并在“特定本地端口”中输入“22”,然后点击“下一步”。
    • 选择“允许连接”,然后点击“下一步”。
    • 选择“域”、“专用”和“公用”,然后点击“下一步”。
    • 给规则命名,如“允许SSH”,然后点击“完成”。
  3. 使用sell连接即可

### 配置 VSCode 远程连接WSL2 为了实现从 Visual Studio Code (VSCode) 中远程连接并操作 Windows Subsystem for Linux 2 (WSL2),可以通过安装特定扩展以及调整环境配置来完成。 #### 安装必要的工具和扩展 1. **确保已启用 WSL2** 用户需确认已在系统上启用了 WSL2 并成功安装了一个发行版(如 Ubuntu)。这一步可通过 PowerShell 命令 `wsl --set-default-version 2` 来验证[^1]。 2. **安装 Remote - WSL 扩展** 在 VSCode 的市场中搜索 “Remote - WSL”,然后安装由 Microsoft 提供的官方插件。该插件允许开发者直接在 WSL 环境下运行 VSCode 编辑器实例。 3. **启动 WSL 开发模式** 使用快捷方式打开 WSL 工作区,在 VSCode 的命令面板 (`Ctrl+Shift+P`) 输入 `> WSL: New Window` 或者 `> WSL: Connect to WSL using Distro...`,从而创建一个新的窗口专门用于访问指定的 WSL 发行版本。 #### 调整 SSH 设置以支持更复杂的场景 如果目标不仅限于简单的文件编辑而是涉及网络服务调试,则可能还需要进一步配置 SSH 支持: - 修改 `.bashrc` 文件加入路径映射逻辑以便无缝调用原生 windows 应用程序作为辅助工具- 自定义 ssh config 文件简化跨平台交互流程,例如指明端口转发规则等[^2]。 以下是具体代码示例展示如何修改 .bashrc 添加自动加载功能: ```bash # ~/.bashrc addition for auto-loading vscode server on login if command -v code-insiders &>/dev/null; then eval "$(code-insiders --login-shell)" elif command -v code &>/dev/null; then eval "$(code --login-shell)" fi ``` 上述脚本片段会检测是否存在 insider 版本优先加载最新特性;如果没有则回退至稳定版处理日常需求。 --- ### 注意事项 对于某些特殊情况下遇到权限不足或者无法正常加载图形界面的问题,建议尝试更新 kernel version 至最新状态,并重新初始化相关驱动组件。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yfs1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值