WSL2内网穿透实现远程访问(一)

WSL2内网穿透实现远程访问

由于今年云服务器价格太贵,自己使用频率又不大,所以想把家中电脑里的WSL内网穿透下,方便在公司远程连接

前置工作:

  • 已安装WSL的windows电脑,镜像版本Ubuntu 22.04

一、WSL操作

  • 安装ssh

# 好多人说WSL自带的ssh有问题,所以先卸载重装
sudo apt remove openssh-server
sudo apt install openssh-client openssh-server#备份原始的sshd_config
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo cp /etc/ssh/ssh_config /etc/ssh/ssh_config.bak#使用vim进行编辑,按i进入insert模式

  • 修改ssh配置温江
#在vim中找到对应项并修改,ESC,输入`wq`保存退出
sudo vim /etc/ssh/sshd_config

要修改的内容

Port 2222 # winows22端口另有他用,改为2222,避免冲突
ListenAddress 0.0.0.0        # 如果需要指定监听的IP则去除最左侧的井号,并配置对应IP,默认即监听PC所有IP
PermitRootLogin yes # 如果你需要用 root 直接登录系统则此处改为 yes
PasswordAuthentication yes    # 将 no 改为 yes 表示使用帐号密码方式登录

然后重启服务

sudo service ssh --full-restart

新装的ssh可能不是默认开机自启的,顺便设置了

sudo systemctl enable ssh

其他相关ssh常用命令

sudo service ssh start             #启动SSH服务
sudo service ssh status            #检查状态
sudo systemctl enable ssh          #开机自动启动ssh命令,我好想失效了

然后先测试在本机Windows上用powershell连接了

# 注意Windows上的ssh命令跟linux略有不同,端口号要用-P参数指定
ssh -P2222 dancingline@localhost 

如果失败:提示

The authenticity of host ‘localhost (127.0.0.1)’ can’t be established

是因为没有加读写权限,执行此行即可(注意是在自己的终端,而不是虚拟机linux里面。)

chmod 777 /etc/ssh/ssh_config

到此为止保证本机连接到WSL,为了能在局域网甚至外网上进行连接,需要进行一些设置,主要分为两步:首先在Windows防火墙设置端口,给刚才设定的SSH端口2222添加入站规则

二、Windows操作

  • 配置防火墙规则
    打开防火墙->高级设置->入站规则->新建规则
此处推荐一款高效率生产工具—utools,日常工作已经离不开了,可以向mac的聚合搜索一样,随时呼出,可以快速找到系统工具以及自己下载的软件,此外还能下载很多实用插件,如翻译,图床,AI等等…

点击前往了解Utools

  • 在utools中搜到防火墙,回车
    WSL2内网穿透实现远程访问(一)_第1张图片
  • 按照图中步骤依次执行
  • WSL2内网穿透实现远程访问(一)_第2张图片
  • 选择TCP, 输入2222端口,后面就一直下一步到最后填个名字即可

WSL2内网穿透实现远程访问(一)_第3张图片
到此我们大部分工作已经完成,只需要找个内网穿透工具来代理一下了

三、使用内网穿透工具实现WSL远程访问

使用内网穿透工具实现WSL远程访问

你可能感兴趣的:(linux,ssh,服务器,ubuntu)