【每次启动wsl时自动更新ip】

发布时间:2023年12月18日

每次启动wsl时自动更新ip

在windows中使用wsl时,每次启动wsl后发现其ip都会改变,这样的话如果想通过vscode的Remote-SSH插件打开代码编辑器,就需要手动更新ssh配置文件,极为不便,所以考虑使用一种优雅的方式,在每次启动wsl后,自动执行一个shell脚本,该脚本可以获取ip地址,并更新ssh配置文件,达到每次启动wsl后,自动同步ip的功能。

  1. 先手动在wsl启动后的路径下新建一个shell文件,并添加执行权限,例如我这里的地址为:/home/ubuntu/Documents/t1.sh
  2. 使用编辑器(例如vim)打开该脚本文件,脚本内容填写如下值:
#!/bin/bash

# Define the Windows username and SSH config path
# xxx为你windows下的用户名
windows_username="xxx"
windows_ssh_config_path="/mnt/c/Users/$windows_username/.ssh/config"

# Get the WSL IP address
wsl_ip=$(hostname -I | awk '{print $1}')

# Update the SSH config file on Windows
windows_ssh_config_path_wsl=$(wslpath -w $windows_ssh_config_path)

# Use PowerShell to update the SSH config file
powershell -Command "Add-Content -Path '$windows_ssh_config_path_wsl' -Value 'Host $wsl_ip\n HostName $wsl_ip'"

echo "SSH config updated with WSL IP address: $wsl_ip"

3.使用编辑器(例如vim),打开~/.bashrc文件,例如:vim ~/.bashrc,在该文件的最后一行添加sh脚本的路径,注意不要加‘.’,例如我这里的写法如下:
在这里插入图片描述

4.然后退出保存,使用 source ~/.bashrc更新source文件。然后关闭wsl窗口,重启即可。

文章来源:https://blog.csdn.net/weixin_41791349/article/details/135012325
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。